python 中的列表生成式、生成器表达式、模块导入


Posted in Python onJune 19, 2019

5.16 列表生成式

l=[]
for i in range(100):
  l.append('egg%s' %i)
print(l)
​
l=['egg%s' %i for i in range(100)]
l=['egg%s' %i for i in range(1000) if i > 10]
print(l)

5.17 列表生成式与生成器表达式的应用

names=['egon','alex_sb','wupeiqi','yuanhao','lxx']
res=map(lambda x:x.upper(),names)  # map函数 映射
names=list(res)         #['EGON', 'ALEX_SB', 'WUPEIQI', 'YUANHAO', 'LXX']
print(names)
names=['egon','alex_sb','wupeiqi','yuanhao','lxx']
names=[name.upper() for name in names]   #列表生成式
print(names)
names=['egon','alex_sb','wupeiqi','yuanhao','lxx'] #列表生成式
names=[len(name) for name in names if not name.endswith('sb')]
print(names)
nums=[]                 #一般循环方法
with open('a.txt','r',encoding='utf-8') as f:
  for line in f:
    nums.append(len(line))
print(max(nums))
with open('a.txt','r',encoding='utf-8') as f:#列表生成式
  nums=[len(line) for line in f]
  print(max(nums))  #28
with open('a.txt','r',encoding='utf-8') as f:
  nums=(len(line) for line in f) #生成器表达式
  print(next(nums))  #15
  print(next(nums))  #17
  print(next(nums))  #13
  print(max(nums))  #28
  print(max(nums))  #空列表
  max(len(line) for line in f)  #去掉括号

第六章模块

什么是模块? 模块就是一系统功能的集合体,在python中,一个py文件就是一个模块,比如module.py,其中模块名module

6.1 import 导入模块

6.11 导入方式一

import spam
spam.read1()

首次导入模块发生三件事 ​ 1、创建一个模块的名称空间 ​ 2、执行模块对应文件,将产生的名字存放于1中的名称空间 ​ 3、在当前执行文件中拿到一个模块名,该模块名指向1的名称空间

import spam
强调:之后的导入会直接引用第一次导入的结果,不会重复执行文件
import spam
print(spam)
模块中功能的执行始终以模块自己的名称空间为准
read1=111111    #money=1000
spam.read1()    #def read1():
          #  print('spam模块.read1:',money)
#结果:spam模块.read1: 1000

为模块起别名:

import spam as sm
sm.read1()
engine=input('>>: ').strip()
if engine == 'mysql':
  import mysql as db
else engine == 'oracle':
  import oracle as db
db.parse()

一行导入多个模块(不推荐使用)

import spam,mysql,oracle

6.12 导入方式二

from spam import money,read1,read2,change
read1()​
from spam import *   #从模块中导入所有方法
read1()        #spam中:__all__=['money','read1'] 表示*能导入的方法,不写则表示能导入所有​

首次导入模块发生三件事 1、创建一个模块的名称空间 2、执行模块对应文件,将产生的名字存放于1中的名称空间 提示:from...... import....... 与import前两件事一模一样 3、在当前名称空间中直接拿到模块中的名字,可以直接使用,不用加任何前缀同import,执行模块中的功能,始终以模块的名称空间为准

from spam import read1
money=1111111111
read1()   #结果:spam模块.read1: 1000
from ... import ......名字,拿到的名字可以不加前缀直接使用,使用起来更加方便, 但问题是容易与当前执行文件中相同的名字冲突
from spam import money
money=1111111111111111
print(money)    #1111111111111111,而不是1000

为模块起别名:

from spam import money as m
print(m)

在一行导入多个

from spam import money,read1,read2

6.2 文件的两种执行方式:

#print(__name__)
__name__的值:
1、在文件被直接执行的情况下,等于'__main__'
2、在文件被导入的情况下,等于模块名
​
if __name__ == '__main__':
   print('文件被当中脚本执行啦。、。')
  read1()
else:
   print('文件被导入啦')
   read2()

6.3 模块的搜索路径

模块的查找顺序是:

内存中已经加载的模块 -----》内置模块-------》sys.path路径中包含的模块

import sys
sys.path.append(r'D:\code\SH_fullstack_s1\day14\dir1')
​
import m1
m1.f1()

强调 : sys.path的第一个路径是当前执行文件所在的文件夹

总结

以上所述是小编给大家介绍的python 中的列表生成式、生成器表达式、模块导入,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python append、extend与insert的区别
Oct 13 Python
Python爬虫之模拟知乎登录的方法教程
May 25 Python
python使用Tesseract库识别验证
Mar 21 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
Oct 17 Python
django页面跳转问题及注意事项
Jul 18 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
OpenCV读取与写入图片的实现
Oct 13 Python
numpy数据类型dtype转换实现
Apr 24 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 Python
PyQt5 QTable插入图片并动态更新的实例
Jun 18 #Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
Jun 18 #Python
PyQt5 对图片进行缩放的实例
Jun 18 #Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 #Python
Python生成一个迭代器的实操方法
Jun 18 #Python
利用anaconda保证64位和32位的python共存
Mar 09 #Python
python获取地震信息 微信实时推送
Jun 18 #Python
You might like
PHP中文件上传的一个问题
2010/09/04 PHP
php随机输出名人名言的代码
2012/10/07 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
JQuery toggle使用分析
2009/11/16 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python轻松查到删除自己的微信好友
2016/01/10 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
高级人员简历的自我评价分享
2013/11/03 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
大学生就业策划书范文
2014/04/04 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
团委竞选演讲稿
2014/04/24 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
检讨书格式
2015/01/23 职场文书
运动会广播稿50字
2015/08/19 职场文书