python—day14内置函数2列表生成式与生成器表达式模块

Posted kermitjam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python—day14内置函数2列表生成式与生成器表达式模块相关的知识,希望对你有一定的参考价值。

内置函数2、列表生成式与生成器表达式、模块

内置函数2:

 1 # pow(x,y,z)    x,y,z  x的y次方除于z  得出的结果是除数和余数
 2 print(pow(2,3,7))
 3 
 4 # reversed([] {} ‘‘)   反转 切把l变成可迭代对象
 5 l = [1,2,3,4,5,6,3,2,4,6,8]
 6 res = reversed(l)
 7 print(l)
 8 print(list(res))
 9 
10 # round()  求四舍五入
11 print(round(8.8))
12 
13 # slice(x,y,z) 把   x,y,z 等同于  x:y:z  步长
14 l1 = [1,2,3,4,5]
15 print(l[1:4:2])
16 
17 sc = slice(1,5,2)
18 print(l[sc])
19 
20 # sum()  求()内所有数的总和  但必须是可迭代对象
21 print(sum([1,2,3,4,5,6,7,8]))
22 print(sum((1,2,3,4,5,7)))
23 
24 # zip() 把左边的可迭代对象以1,2,3排列赋值进dic{}里面的values 变成迭代器对象
25 left = kermit
26 right = {my:1,name:2,is:3}
27 res = zip(left,right)
28 print(res)
29 
30 # vars
31 # vars()
32 
33 # zip
34 # left=‘hello‘
35 # right={‘x‘:1,‘y‘:2,‘z‘:3}
36 #
37 # res=zip(left,right)
38 # print(list(res))

 

列表生成式与生成器表达式

 1 #1、列表生成式   如果数据量少的情况下建议用这种形式
 2 # l = [‘agge%s‘ %i for i in range(1000) if i>50]
 3 # print(l)
 4 
 5 
 6 # 2、生成器表达式 如果数据量较大的情况下建议用这种形式
 7 # l1 = (‘kermit%s‘ %i for i in range(999) if i>60)
 8 # print(l1) # 得到的是迭代器对象
 9 # print(list(l1))
10 
11 
12 #把list中的名字变成大写
13 # names = [‘kermit‘,‘egon‘,‘tsb‘]
14 # names = [name.upper() for name in names]
15 # print(names)
16 # res = map(lambda x:x.upper(),names)
17 # print(list(res))
18 
19 
20 # 求出names中除了有sb结尾名字的名字长度
21 # res1 = [len(name) for name in names if not name.endswith(‘sb‘)]
22 # print(res1)
23 
24 # 查看文件中最长的一列
25 # with open(r‘a.txt‘,‘r‘,encoding=‘utf-8‘) as f:
26 #     print(max(line for line in f))

 

模块!

模块的使用

 

 1 #1 什么是模块?
 2 # 模块就一系统功能的集合体,在python中,一个py文件就是一个模块,比如module.py,其中模块名module
 3 
 4 #2 使用模块
 5 
 6 #2.1 import 导入模块
 7 #首次导入模块发生三件事
 8 #1、创建一个模块的名称空间
 9 #2、执行模块对应文件,将产生的名字存放于1中的名称空间
10 #3、在当前执行文件中拿到一个模块名,该模块名指向1的名称空间
11 
12 # 什么是模块?
13 # 模块就一系统功能的集合体,在python中,一个py文件就是一个模块,比如kermit.py,其中模块名为kermit
14 
15 # 使用模块
16 # import 导入的模块
17 # 首次导入模块发生三件事
18 # 1、创建一个模块的名称空间
19 # 2、执行模块对应文件,将产生名字存放于1中的名称空间
20 # 3、在当前执行文件中拿到一个模块,该模块名指向1的名称空间
21 
22 # import spam
23 # import spam  强调:导入一次后,再次调用相同的模块不会重复执行文件。
24 # spam.read1()
25 #
26 #
27 # 模块中功能的执行始终以模块自己的名称空间为准
28 # resd1 = 11111
29 # print(spam.read1)   结果不变
30 
31 # 为模块起别名
32 # import spam as sp
33 #
34 # sp.read1()
35 
36 # 一行导入多个模块  不建议使用
37 # import mysql,oracle,spam
38 #
39 #建议使用
40 # import mysql
41 # import oracle
42 # import spam
43 
44 # import spam
45 # def f1():
46 #     pass
47 
48 # print(spam.money)
49 # spam.read1()
50 
51 # 模块中功能的执行始终以模块自己的名称空间为准
52 # read1=111111
53 # print(spam.read1)
54 
55 # money=1111111111111
56 # spam.read1()
57 
58 # read1=11111111111111111111111111
59 # spam.read2()
60 
61 # money=1111111111111111
62 # spam.change()
63 # print(money)
64 # spam.read1()
65 
66 #3、为模块起别名
67 # import spam as sm
68 
69 # print(sm.money)
70 # sm.read1()
71 
72 # engine=input(‘>>: ‘).strip()
73 # if engine == ‘mysql‘:
74 #     import mysql as db
75 # elif engine == ‘oracle‘:
76 #     import oracle as db
77 # db.parse()
78 
79 #4、一行导入多个模块(不推荐使用)
80 # import spam,mysql,oracle
81 
82 #推荐写成多行
83 import spam
84 import mysql
85 import orcacle

 

 

模块的使用 from...import ...

 1 # from ... import ...py
 2 # 首次导入模块发生三件事:
 3 # 1、创建一个模块的名称空间
 4 # 2、执行模块对应文件,将产生的名字存放于1中的名称空间
 5 # 提示:from 。。。 import 。。 与 import前的两件事一模一样
 6 # 3、在当前名称空间中直接拿到模块中的名字,可以直接使用,不用加任何前缀
 7 # money = 11111
 8 #
 9 # from spam import money,read1,read2,change
10 #
11 # # print(money)
12 # # print(read1())
13 # read1()
14 # # print(read2())
15 # read2()
16 # # print(change())
17 # change()
18 
19 # 注意:
20 # 1、同import,执行模块中的功能,始终以模块的名称空间为准
21 #change()
22 #print(money) #从下往上找money中的值  #1000
23 
24 # 2、from ... import 名字,拿到的名字可以不用前缀直接使用,使用起来更方便
25 # 但问题是容易与当前执行文件中相同的名字冲突
26 
27 # 3、起别名
28 # from spam import moeny as m
29 
30 # 4、在一行导入多个

 

模块的搜索路径

 1 # import m1
 2 #
 3 # m1.f1()
 4 # 模块的查找循序是:
 5 # 1、内存中已经加载的模块
 6 # 2、内置模块
 7 # 3、sys.path路径中包含的模块
 8 #
 9 # import sys
10 # sys.path.append(r‘E:\kermit\Python\视频\day14\day14\dir1‘)
11 #
12 # import m1
13 # m1.f1()
14 #
15 # import time
16 # time.sleep(10)
17 #
18 # import m1
19 # m1.f1()
20 
21 # 强调强调强调强调强调强调强调强调强调强调强调强调
22 # sys.path的第一个路径是当前执行文件所在的文件夹
23 
24 # if __name__ == ‘__main__‘:   模块内测试方法
25 #     test()

 

以上是关于python—day14内置函数2列表生成式与生成器表达式模块的主要内容,如果未能解决你的问题,请参考以下文章

day14

python学习笔记——列表生成式与生成器

s14 第4天 关于python3.0编码 函数式编程 装饰器 列表生成式 生成器 内置方法

Python中的内置模块与生成器迭代器-day5

Python全栈day18(三元运算,列表解析,生成器表达式)

python列表解析式与生成式表达式