大師兄的Python學(xué)習(xí)筆記(三): 模塊和包
大師兄的Python學(xué)習(xí)筆記(五): 常用庫(kù)之os包
一、關(guān)于內(nèi)置函數(shù)
- 內(nèi)置函數(shù)就是Python原生的方法,不需要導(dǎo)入任何包就可以直接使用。
- 本文內(nèi)容基于Python3.8文檔。
二、內(nèi)置函數(shù)列表
A開(kāi)頭:
1)abs(<int>)
返回絕對(duì)值。>>>print(abs(-10)) 10
2)all(<iterable>)
- 判斷給定的可迭代參數(shù)中的所有元素是否都為 True。
>>>l = [123,0<5,'str'] # 還記得0可以代表False嗎 >>>print(all(l)) True >>>l = [True,0,'str'] # 還記得0可以代表False嗎 >>>print(all(l)) False
3)any(<object>)
- 判斷給定的可迭代參數(shù)中,如果任意一個(gè)元素為 True則返回True。
>>>l = [True,0,'str'] >>>print(any(l)) True
4)ascii(<object>)
- 類(lèi)似print()函數(shù),用于打印字符串。
- 但轉(zhuǎn)義字符和''也會(huì)被處理后打印出來(lái)
>>>ascii('Hello\r World\n') "'Hello\\r World\\n'"
B開(kāi)頭:
5)bin(<int>)
- 將一個(gè)整數(shù)轉(zhuǎn)變?yōu)橐粋€(gè)前綴為“0b”的二進(jìn)制字符串。
>>>print(bin(-10)) '-0b1010'
6)bool(<int>)
- 返回一個(gè)布爾值。
>>>bool(0) False
7)breakpoint(<*args>,<**kws>)
- 打斷點(diǎn),跳入調(diào)試器中。
>>>breakpoint() --Return-- <input>(1)<module>()->None (Pdb)
8)bytearray(<source>,<encoding>,<errors>)
- 返回一個(gè)新字節(jié)數(shù)組。
- 返回的字節(jié)數(shù)組具備可變序列的大部分常見(jiàn)方法(像list)。
- 每個(gè)元素的值范圍: 0 <= x < 256。
>>>bytearray([1,2,3,4,5]) bytearray(b'\x01\x02\x03\x04\x05') >>>bytearray('hello','utf-8') bytearray(b'hello')
9)bytes(<source>,<encoding>,<errors>)
- 返回一個(gè)新的bytes對(duì)象。
- 返回的bytes對(duì)象為不可變序列。
- 每個(gè)元素的值范圍: 0 <= x < 256。
>>>bytes([1,2,3,4,5]) b'\x01\x02\x03\x04\x05' >>>bytes('hello','utf-8') b'hello'
C開(kāi)頭:
10)callable(<object>)
- 如果對(duì)象可以調(diào)用返回True,否則返回False。
>>>print(callable(callable)) True >>>print(callable(callable(1234)) False
11)chr(<int>)
- 返回 Unicode 碼對(duì)應(yīng)的字符串。
- ord()和chr()互逆。
>>>print(chr(100)) 'd'
12)@classmethod
- 把一個(gè)方法封裝成類(lèi)方法。
- 類(lèi)方法會(huì)忽略實(shí)例化。
- 方便直接從類(lèi)調(diào)用方法。
- 應(yīng)用了裝飾器。
>>>class HelloWorld(): >>> @classmethod >>> def sayHello(cls): >>> print('Hello World!') >>>HelloWorld.sayHello() Hello World! >>>h = HelloWorld() >>>h.sayHello() # 忽略了類(lèi)的實(shí)例化 Hello World!
13)compile(<source>, <filename>, <mode>, <flags=0>, <dont_inherit=False>, <optimize=-1>)
- 將一個(gè)字符串編譯為字節(jié)代碼。
>>>str = 'print("hello world")' >>>s = compile(str,'','exec') # mode可以用eval,exec或single >>>print(s) # 生成了一個(gè)code對(duì)象 <code object <module> at 0x000001FF125CB9C0, file "", line 1> >>>exec(s) # 可以用exec 或eval執(zhí)行 hello world
14)complex(<real>,<imag>)
- 創(chuàng)建一個(gè)值為 real + imag * j 的復(fù)數(shù)
>>>c = complex(10,20) >>>print(c) (10+20j)
D開(kāi)頭:
15)delattr(<object>, <name>)
- 函數(shù)將刪除指定的屬性
- 詳情見(jiàn)筆記第二篇5.6
16)dict(<object>)
- 創(chuàng)建一個(gè)字典對(duì)象。
- 詳情見(jiàn)筆記第一篇2.1.6
17)dir(<object>)
- dir() 函數(shù)不帶參數(shù)時(shí),返回當(dāng)前范圍內(nèi)的變量、方法和定義的類(lèi)型列表;帶參數(shù)時(shí),返回參數(shù)的屬性、方法列表。如果參數(shù)包含方法__dir__(),該方法將被調(diào)用。如果參數(shù)不包含__dir__(),該方法將最大限度地收集參數(shù)信息。
>>>dir() >>>['In', 'Out', '_', '__', '___', '__builtin__', '__builtins__', '__doc__', '__loader__', '__name__', __package__', '__spec__', '_dh', '_i', '_i1', '_ih', '_ii', '_iii', '_oh', 'exit', 'get_ipython','quit'] >>>dir(dir()) >>>['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
18)divmod(<a>,<b>)
- 實(shí)現(xiàn)a除以b,然后返回商與余數(shù)的元組。
- 如果兩個(gè)參數(shù)a,b都是整數(shù),那么會(huì)采用整數(shù)除法,結(jié)果相當(dāng)于(a//b, a % b)。
- 如果a或b是浮點(diǎn)數(shù),相當(dāng)于(math.floor(a/b), a%b)。
>>>c = divmod(98,10) >>>print(c) (9, 8) >>>d = divmod(98,4.5) >>>print(d) (21.0, 3.5)
E開(kāi)頭:
19)enumerate(<iterable>, <start=0>)
- 返回一個(gè)可迭代對(duì)象的序號(hào)和值元組的迭代器。
>>>dogs = ['雪納瑞','泰迪','金毛','拉布拉多'] >>>e = enumerate(dogs) >>>print(type(e)) <class 'enumerate'> >>>list(e) [(0, '雪納瑞'), (1, '泰迪'), (2, '金毛'), (3, '拉布拉多')]
20)eval(<expression>, <globals or locals>)
- 執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值。
- 使用時(shí)要注意其危險(xiǎn)性。(比如從外部輸入的惡意字符串表達(dá)式被執(zhí)行)
>>>print(eval('10+10')) 20 >>>eval('print("Hello World!")') "Hello World!"
21)exec(<expression>, <globals or locals>)
- 如果expression是一個(gè)字符串,該字符串會(huì)先被解析為一組python語(yǔ)句,然后執(zhí)行。
- 如果expression是一個(gè)code對(duì)象,那么它只是被簡(jiǎn)單的執(zhí)行。
- 與eval不同,exec返回None。
- 與eval不同,exec可以執(zhí)行復(fù)雜的代碼。
>>>i = 0 >>>e = exec('i+=10') >>>print(e) None >>>print(i) 10 >>>exec('def sayhi():print("hi!")') >>>sayhi() hi!
F開(kāi)頭:
22)filter(<function>, <iterable>)
- 用于過(guò)濾序列。
- 相當(dāng)于把<iterable>中的每個(gè)值當(dāng)做<function>的參數(shù),如果返回None則過(guò)濾掉。
- 返回一個(gè)可迭代的filter對(duì)象。
>>>l = [1,2,3,4,5,6,7,8,9,10] >>>def odd(n): >>> return n%2!=0 # 如果是偶數(shù)就過(guò)濾掉 >>>f = filter(odd,l) >>>print(type(f)) filter >>>print(list(f)) [1, 3, 5, 7, 9]
23)float(<x>)
- 從整數(shù)或字符串生成浮點(diǎn)數(shù)。
>>>float('-10.5') -10.5 >>>float(100) 100.0 >>>float('1e10') 10000000000.0
24)format(<value>, <format_spec>)
- 用于格式化字符串。
- 詳細(xì)說(shuō)明見(jiàn)筆記第一篇2.6.6中字符串格式化的五種方式。
25)frozenset(<iterable>)
- 通過(guò)可迭代對(duì)象返回一個(gè)新的 frozenset(冰凍集合)對(duì)象。
- 冰凍集合和列表類(lèi)似,但是內(nèi)容不能更改。
>>>l = [1,2,3,4,5] >>>f = frozenset(l) >>>type(f) frozenset >>>print(f) frozenset({1, 2, 3, 4, 5})
G開(kāi)頭:
26)getattr(<object>, <name>, <default>)
- 返回對(duì)象命名屬性的值。
- 詳情見(jiàn)筆記第二篇5.3。
27)globals()
- 用于定義全局變量。
- 詳情見(jiàn)筆記第一篇2.5.5.3。
H開(kāi)頭:
28)hasattr(<object>, <name>)
- 判斷對(duì)象<object>是否包含屬性<name>。
- <name>是名稱(chēng)字符串。
>>>class Dog(): >>> def __init__(self): >>> self.type = 'dog' >>> def bart(self): >>> print('汪汪!') >>>dog = Dog() >>>hasattr(dog,'type') True >>>hasattr(dog,'bart') True >>>hasattr(dog,'age') # 不包含屬性 False
29)hash(<object>)
- 返回對(duì)象的哈希(hash)值。
- 哈希值通過(guò)散列算法將任意長(zhǎng)度的值換算成固定長(zhǎng)度的結(jié)果,是區(qū)塊鏈的基礎(chǔ)。
>>>print(hash('abc')) -5769367521816172114
30)help(<object>)
- 獲得對(duì)象的幫助信息。
- 詳情見(jiàn)筆記第一篇1.7.2。
31)hex(<x>)
- 獲取16進(jìn)制字符串。
- 以0x開(kāi)頭
>>>print(hex(12)) '0x14'
I開(kāi)頭:
32)id(<object>)
- 獲取對(duì)象的內(nèi)存地址。
- 一個(gè)對(duì)象在生命周期內(nèi)id是唯一的。
- 在不同的生命周期有可能有相同的id。
>>>name = 'name' >>>print(id(name)) 2223950523000
33)input(<prompt>)
- 獲取控制臺(tái)輸入。
- <promt>是輸入提示。
>>>name = input('請(qǐng)輸入你的姓名:') 請(qǐng)輸入你的姓名:superkmi >>>print(name) superkmi
34)int(<x>)
- 將一個(gè)字符串或數(shù)字轉(zhuǎn)換為整型。
>>>print(int('123')) 123 >>>print(int(14.2)) 14
35)isinstance(<object>, <classinfo>)
- 判斷<object>是否和<classinfo>是同一個(gè)類(lèi)型。
- 與type不同,isinstance包括繼承。
>>>print(isinstance(1,int)) True >>>print(isinstance(1,str)) False >>>class Animal(): >>> pass >>>class Dog(Animal): >>> pass >>>print(type(Dog()) == type(Animal)) False >>>print(isinstance(Dog(),Animal)) True
36)issubclass(<class>, <classinfo>)
- 判斷<object>是否是<classinfo>的子類(lèi)。
>>>class Animal(): >>> pass >>>class Dog(Animal): >>> pass >>>print(issubclass(Dog,Animal)) True >>>print(issubclass(Animal,Dog)) False
37)iter(<object>, <sentinel>)
- 用來(lái)生成迭代器。(迭代器在高級(jí)語(yǔ)法部分)
>>>l = [1,2,3,4,5] >>>l_iter = iter(l) >>>print(next(l_iter)) 1 >>>print(next(l_iter)) 2 >>>print(next(l_iter)) 3
- 如果傳遞了第二個(gè)參數(shù),則object必須是一個(gè)可調(diào)用的對(duì)象(如,函數(shù))。此時(shí),iter創(chuàng)建了一個(gè)迭代器對(duì)象,每次調(diào)用這個(gè)迭代器對(duì)象的__next__()方法時(shí),都會(huì)調(diào)用object,且返回值為<sentinel>時(shí)停止。
>>>import random # 導(dǎo)入random包 >>>def randomInt(): >>> l = [1,2,3,4,5] >>> return random.choice(l) # 返回l中一個(gè)隨機(jī)值 >>>for i in iter(randomInt, 4): # 當(dāng)返回值為4時(shí)就停止了 >>> print(i) 5 1 3
L開(kāi)頭:
38)len(<s>)
- 返回對(duì)象的長(zhǎng)度。
>>>print(len('abcdefg')) 7 >>>print(len([1,2,3,4,5,6])) 6 >>>print(len({'a','b','c','d','e'})) 5 >>>print(len(range(1,10))) 9
39)list()
- 創(chuàng)建列表。
- 詳情見(jiàn)筆記第一篇2.1.4。
40)locals()
- 以字典類(lèi)型返回當(dāng)前位置的全部局部變量。
>>>def sayHello(): >>> word = 'Hello World!' >>> num = 1 >>> print(locals()) >>>sayHello() {'word': 'Hello World!', 'num': 1}
M開(kāi)頭:
41)map(<function>, <iterable>, ...)
- 根據(jù)提供的函數(shù)<function>對(duì)指定序列<iterable>做映射。
- 返回迭代器。
>>>i = [1,2,3,4,5] >>>def triple(x): >>> return x*3 >>>print(list(map(triple,i))) [3, 6, 9, 12, 15]
42)max(<iterable>, < key>,<default>)
- 返回給定參數(shù)的最大值。
- <key>用來(lái)指定取最大值的方法。
- <default>為最大值不存在時(shí)返回的默認(rèn)值。
>>>l1 = [1,2,3,4,5,6,7] >>>print(max(l1)) 7 >>>l2 = ['a','b','c','d','e'] >>>print(max(l2)) 'e' >>>l3 = [1.5,4.3,2.5,100.3,-34,-10000] >>>print(max(l3,key=abs)) # 比較絕對(duì)值 -10000 >>>print(max((),default=0)) 0
43)memoryview(<obj>)
- 返回給定參數(shù)的內(nèi)存查看對(duì)象。
- <obj>為byte。
>>>print(memoryview(b'abc')) <memory at 0x0000018A6F55F1C8>
44)min(<iterable>, < key>,<default>)
- 返回給定參數(shù)的最小值。
- <key>用來(lái)指定取最小值的方法。
- <default>為最小值不存在時(shí)返回的默認(rèn)值。
>>>l1 = [1,2,3,4,5,6,7] >>>print(min(l1)) 1 >>>l2 = ['a','b','c','d','e'] >>>print(min(l2)) 'a' >>>l3 = [1.5,4.3,2.5,100.3,-34,-10000] >>>print(min(l3,key=abs)) # 比較絕對(duì)值 1.5 >>>print(min((),default=0)) 0
N開(kāi)頭:
45)next(<iterator>, <default>)
- 返回迭代器的下一個(gè)值。
- 如果迭代器耗盡,則返回給定的 default。
- 如果沒(méi)有默認(rèn)值則觸發(fā)StopIteration。
>>>l = [1,2,3,4,5] >>>l_iter = iter(l) >>>print(next(l_iter)) 1 >>>print(next(l_iter)) 2 >>>print(next(l_iter)) 3 >>>l = [1,2] >>>l_iter = iter(l) >>>print(next(l_iter)) 1 >>>print(next(l_iter)) 2 >>>print(next(l_iter,'no more element.')) no more element.
O開(kāi)頭:
46)object()
- 返回一個(gè)object類(lèi)。
- object是所有類(lèi)的父類(lèi)。
- 詳情見(jiàn)筆記第二篇:面向?qū)ο蠛皖?lèi)。
>>>obj = object() >>>dir(obj) ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__'] >>>type(obj) object
47)oct(<x>)
- 將一個(gè)整數(shù)轉(zhuǎn)變?yōu)橐粋€(gè)前綴為“0o”的八進(jìn)制字符串。
>>>print(oct(10)) '0o12' >>>print(oct(0x16)) '0o26'
48)open(<file>, <mode='r'>, <buffering=-1>, <encoding=None>, <errors=None>, <newline=None>, <closefd=True>, <opener=None>)
- 用于文件操作。
- <file>文件路徑。
- <mode> 表示打開(kāi)的目的是讀/寫(xiě),包含w/r/wb/rb等類(lèi)型。
- <buffering> 緩沖策略
- <encoding> 解碼方式
- <errors> 指定如何處理編碼和解碼錯(cuò)誤
- <newline> 定義換行符
>>>import os >>>path = os.path.join(os.curdir,'test','filename.txt') # 制作文件路徑 >>>data = open(path,'r') # 讀取文件中的數(shù)據(jù)
49)ord(<c>)
- ord()返回代表Unicode字符的整數(shù)。
- ord()和chr()互逆。
>>>print(ord('a')) 97
P開(kāi)頭:
50)pow(<base>, <exp>, <mod>)
- 求<base>的<exp>次方。
- 如果<mod>存在則取模。
- 等同于(<base>^<exp>)%<mod>
>>>print(pow(10,2)) 100 >>>print(pow(14,3,3)) # 14的3次方取模3 2
51)print(<objects>, <sep=' '>, <end='\n'>, <file=sys.stdout>, <flush=False>)
- 基礎(chǔ)說(shuō)明見(jiàn)筆記第一篇。
- 用于將<objects>輸出到<file>中。
- <sep>表示分隔符,默認(rèn)為空的字符串。
- <end>表示以什么結(jié)尾,默認(rèn)為換行符。
- <file> 表示輸出的目標(biāo),默認(rèn)為控制臺(tái)輸出流。
- <flush> 是否在print()后,即使在條件未滿(mǎn)足的情況下,立即將內(nèi)容輸出。
>>>with open('filename.txt','w') as f: # 創(chuàng)建一個(gè)新文件并寫(xiě)入內(nèi)容。 >>> print('hello',file=f,flush=True) # 將內(nèi)容輸入到文件中。正常是文件close時(shí)寫(xiě)入,如果flush=True則立即寫(xiě)入。
52)property(<fget=None>, <fset=None>, <fdel=None>, <doc=None>)
- 用于在類(lèi)中返回屬性值。
- 詳情見(jiàn)筆記第二篇:類(lèi)的成員描述符7.3。
R開(kāi)頭:
53)range(<start>, <stop>, <step>)
- 獲得一個(gè)不可變的序列。
- 詳情見(jiàn)筆記第一篇2.4.1。
54)repr(<object>)
- 將對(duì)象轉(zhuǎn)化為供解釋器讀取的形式。
- 可以和eval()配合用來(lái)在數(shù)據(jù)結(jié)構(gòu)和字符串之間轉(zhuǎn)換。
>>>list = [1,2,3,4,5,'hello','world'] >>>repr(list) "[1, 2, 3, 4, 5, 'hello', 'world']" >>>str = 'Hello World!' >>>repr(str) "'Hello World!'"
55)reversed(<seq>)
- 返回一個(gè)反向的 iterator
>>>l = [1,2,3,4,5] >>>rl = reversed(l) >>>print([x for x in rl]) [5, 4, 3, 2, 1] >>>str = 'hello world' >>>rstr = reversed(str) >>>print([x for x in rstr]) ['d', 'l', 'r', 'o', 'w', ' ', 'o', 'l', 'l', 'e', 'h']
56)round(<number>, <ndigits>)
- 返回<number>四舍五入的值。
- <ndigits>指保留小數(shù)點(diǎn)幾位。
>>>print(round(3.1415926,2)) 3.14
S開(kāi)頭:
57)set(<iterable>)
- 返回一個(gè)新的 [
set
]對(duì)象。- 詳情見(jiàn)筆記第一篇2.7.2。
58)setattr(<object>, <name>, <value>)
- 修改對(duì)象或函數(shù)的屬性。
- 詳情見(jiàn)筆記第二篇5.4.2。
59)slice(<start>, <stop>, <step>)
- 實(shí)現(xiàn)切片對(duì)象,主要用在切片操作函數(shù)里的參數(shù)傳遞。
- <start>起始位置。
- <stop>結(jié)束位置。
- <step>間距。
>>>l = [1,2,3,4,5,6,7] >>>slice1 = slice(3) # 3個(gè)元素 >>>print(l[slice1]) [1, 2, 3] >>>slice2 = slice(3,7) # 3到7之間 >>>print(l[slice2]) [4, 5, 6, 7]
60)sorted(<iterable>, *, <key=None>, <reverse=False>)
- 將<iterable>排序后返回。
- <key> 指定可迭代對(duì)象中的一個(gè)元素來(lái)進(jìn)行排序。
- <reverse> = True時(shí)反向排序。
>>>l = [5,3,2,1,3,2,3,9,7,5] >>>print(sorted(l)) [1, 2, 2, 3, 3, 3, 5, 5, 7, 9] >>>print(sorted(l,reverse=True)) # 反向排序 [9, 7, 5, 5, 3, 3, 3, 2, 2, 1] >>>l = [(1,'b'),(9,'a'),(4,'d'),(20,'g')] >>>print(sorted(l,key=lambda x:(x[1]))) # 用第二個(gè)參數(shù)排序 [(9, 'a'), (1, 'b'), (4, 'd'), (20, 'g')]
61)@staticmethod
- 將方法轉(zhuǎn)換為靜態(tài)方法。
- 靜態(tài)方法不強(qiáng)制要求傳遞參數(shù)(self,cls)。
>>>class Mountain(): >>> @staticmethod >>> def echo(voice): >>> print(voice) >>>m = Mountain() >>>m.echo('Hello World!') # 通常對(duì)象會(huì)將自身作為第一個(gè)參數(shù)返回。 Hello World!
62)str(<object=b''>, <encoding='utf-8'>, <errors='strict'>)
- 返回一個(gè)str版本的<object>。
>>> l = [1,2,3,4,5] >>> str(l) '[1, 2, 3, 4, 5]' >>> d = {'A':1,'B':2,'C':3} >>> str(d) "{'A': 1, 'B': 2, 'C': 3}"
63)sum(<iterable>,<start=0>)
- 獲得迭代對(duì)象的和。
- 在和之后再加<start>。
>>>l = [1,2,3,4,5] >>>sum(l) 15 >>>sum(l,2) 17
64)super(<type>, <object-or-type>)
- 用于調(diào)用父類(lèi)的一個(gè)方法。
- 詳情見(jiàn)筆記第二篇6.2.5。
T開(kāi)頭:
65)tuple(<iterable>)
- 創(chuàng)建元組類(lèi)型。
- 詳情見(jiàn)筆記第一篇2.1.5。
66)type(<name>, <bases>, <dict>)
- 返回對(duì)象類(lèi)型。
- 與isinstance()的區(qū)別是:type()不會(huì)考慮子類(lèi)的情況。
- 詳情見(jiàn)筆記第一篇1.7.3。
V開(kāi)頭:
67)vars(<object>)
- 返回<object>的屬性和屬性值的__dict__對(duì)象。
- 如果沒(méi)有參數(shù),就打印當(dāng)前調(diào)用位置的屬性和屬性值 類(lèi)似 locals()。
>>>class Dog(): >>> name = 'dog' >>>print(vars(Dog)) mappingproxy({'__module__': '__main__', 'name': 'dog', '__dict__': <attribute '__dict__' of 'Dog' objects>, '__weakref__': <attribute '__weakref__' of 'Dog' objects>, '__doc__': None})
Z開(kāi)頭:
68)zip(*<iterables>...)
- 將多個(gè)可迭代對(duì)象一一對(duì)應(yīng),打包成一個(gè)個(gè)元組。
- 返回值的長(zhǎng)度以最短的可迭代對(duì)象長(zhǎng)度為準(zhǔn)。
- 返回的是一個(gè)可迭代zip對(duì)象。
>>>s = ['a','b','c','d'] >>>n = [1,2,3,4,5,6,7,8,9] >>>y = ['hello','How','are','you'] >>>print(list(zip(s,n,y))) [('a', 1, 'hello'), ('b', 2, 'How'), ('c', 3, 'are'), ('d', 4, 'you')]
其它:
69)__import__(<name>, <globals=None>, <locals=None>, <fromlist=()>, <level=0>)
- 用于動(dòng)態(tài)加載類(lèi)和函數(shù) 。
- 如果一個(gè)模塊經(jīng)常變化就可以使用 import() 來(lái)動(dòng)態(tài)載入。
- 效果類(lèi)似import語(yǔ)句
- 這個(gè)函數(shù)一般用不到。
>>>sys = __import__('sys') >>>sys.path >>>['C:\\Users\\xiaor', >>> 'd:\\python3.7\\python37.zip', >>> 'd:\\python3.7\\DLLs', >>> 'd:\\python3.7\\lib', >>> 'd:\\python3.7',]
參考資料
- https://blog.csdn.net/u010138758/article/details/80152151 J-Ombudsman
- https://www.cnblogs.com/zhuluqing/p/8832205.html moisiet
- https://www.runoob.com 菜鳥(niǎo)教程
- http://www.tulingxueyuan.com/ 北京圖靈學(xué)院
- http://www.imooc.com/article/19184?block_id=tuijian_wz#child_5_1 兩點(diǎn)水
- https://blog.csdn.net/weixin_44213550/article/details/91346411 python老菜鳥(niǎo)
- https://realpython.com/python-string-formatting/ Dan Bader
- https://www.liaoxuefeng.com/ 廖雪峰
- https://blog.csdn.net/Gnewocean/article/details/85319590 新海說(shuō)
- 《Python學(xué)習(xí)手冊(cè)》Mark Lutz
- 《Python編程 從入門(mén)到實(shí)踐》Eric Matthes
本文作者:大師兄(superkmi)