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中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
python进阶教程之模块(module)介绍
Aug 30 Python
Python对列表排序的方法实例分析
May 16 Python
python中reload(module)的用法示例详解
Sep 15 Python
速记Python布尔值
Nov 09 Python
简单了解OpenCV是个什么东西
Nov 10 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
Python如何执行精确的浮点数运算
Jul 31 Python
pytorch中index_select()的用法详解
Jan 06 Python
python os.listdir()乱码解决方案
Jan 31 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中通过smtp发邮件的类,测试通过
2007/01/22 PHP
php关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
python实现数据写入excel表格
2018/03/25 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python try 异常处理(史上最全)
2019/03/07 Python
Django 大文件下载实现过程解析
2019/08/01 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
大学生标准推荐信范文
2013/11/25 职场文书
刘胡兰的英雄事迹材料
2014/02/11 职场文书
网络工程师专家职业发展路线
2014/02/14 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
小班幼儿评语大全
2014/04/30 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android