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 for Informatics 第11章之正则表达式(四)
Apr 21 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
Python3.6日志Logging模块简单用法示例
Jun 14 Python
Python import与from import使用及区别介绍
Sep 06 Python
python 处理string到hex脚本的方法
Oct 26 Python
利用python在excel里面直接使用sql函数的方法
Feb 08 Python
Python列表(List)知识点总结
Feb 18 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
如何用用Python将地址标记在地图上
Feb 07 Python
python函数指定默认值的实例讲解
Mar 29 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
详细分析vue表单数据的绑定
2020/07/20 Javascript
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
Python lambda和Python def区别分析
2014/11/30 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
学校门卫岗位职责
2014/03/16 职场文书
行政内勤岗位职责
2014/04/07 职场文书
抗震救灾标语
2014/06/26 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
会员卡清退活动总结
2014/08/27 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
小学教研工作总结2015
2015/05/13 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书