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递归实现汉诺塔算法示例
Mar 19 Python
Windows下python3.6.4安装教程
Jul 31 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
一文秒懂python读写csv xml json文件各种骚操作
Jul 04 Python
python zip()函数使用方法解析
Oct 31 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
selenium 多窗口切换的实现(windows)
Jan 18 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
Tensorflow全局设置可见GPU编号操作
Jun 30 Python
通过实例简单了解python yield使用方法
Aug 06 Python
python 实现简易的记事本
Nov 30 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
网站当前的在线人数
2006/10/09 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
教大家制作简单的php日历
2015/11/17 PHP
joomla数据库操作示例代码
2016/01/06 PHP
html下载本地
2006/06/19 Javascript
jquery 插件开发备注
2010/08/27 Javascript
javscript对象原型的一些看法
2010/09/19 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
JS实现复制功能
2017/03/01 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
JS实现图片切换效果
2018/11/17 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
深入理解Django-Signals信号量
2019/02/19 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
python批量修改文件名的示例
2020/09/27 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
离开雷锋的日子观后感
2015/06/09 职场文书
中秋节主题班会
2015/08/14 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers