1. 程式人生 > >python—day14內置函數2、列表生成式與生成器表達式、模塊

python—day14內置函數2、列表生成式與生成器表達式、模塊

left with open 列表生成式 表達式 兩件 style pytho per 數據

內置函數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、列表生成式與生成器表達式、模塊