Python內(nèi)置函數(shù)(1)— abs()、all()血柳、any()官册、ascii()、bin()难捌、bool()膝宁、breakpoint()、bytearray()根吁、bytes()员淫、callable()。
Python內(nèi)置函數(shù)(2)— chr()击敌、classmethod()介返、compile()、complex()沃斤、delattr()圣蝎、dict()、dir()轰枝、divmod()捅彻、enumerate()、eval()鞍陨。
Python內(nèi)置函數(shù)(3)— exec()步淹、filter()、float()诚撵、format()缭裆、frozenset()、getattr()寿烟、globals()澈驼、hasattr()、hash()筛武、help()缝其。
Python內(nèi)置函數(shù)(4)— hex()、id()徘六、input()内边、int()、isinstance()待锈、issubclass漠其、iter()、len()、list()和屎、locals()拴驮。
Python內(nèi)置函數(shù)(5)— map()、max()柴信、memoryview()套啤、min()、next()颠印、object()纲岭、oct()、open()线罕、ord()止潮、pow()。
Python內(nèi)置函數(shù)(6)— print()钞楼、property()喇闸、range()、repr()询件、reversed()燃乍、round()、set()宛琅、setattr()刻蟹、slice()、sorted()嘿辟。
Python內(nèi)置函數(shù)(7)— staticmethod()舆瘪、str()、sum()红伦、super()英古、tuple()、type()昙读、vars()召调、zip()、__import__()蛮浑。
11唠叛、chr()
a)描述
原文:
Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.
中文:
返回一個Unicode字符串的一個字符與序號i;0 <= i <= 0x10ffff。
詮釋:
chr() 用一個整數(shù)作參數(shù)沮稚,返回一個對應(yīng)的字符玻墅。
b)語法
chr() 方法的語法:chr(i)
c)參數(shù)
i:可以是 10 進制也可以是 16 進制的形式的數(shù)字,數(shù)字范圍為 0 到 1,114,111 (16 進制為0x10FFFF)壮虫。
d)返回值
返回值是當(dāng)前整數(shù)對應(yīng)的 ASCII 字符。
e)實例
print("chr(0x30):",chr(0x30))
print("chr(97):",chr(97))
print("chr(8364):",chr(8364))
運行結(jié)果:
chr(0x30): 0
chr(97): a
chr(8364): €
12、classmethod()
a)描述
classmethod 修飾符對應(yīng)的函數(shù)不需要實例化囚似,不需要 self 參數(shù)剩拢,但第一個參數(shù)需要是表示自身類的 cls 參數(shù),可以來調(diào)用類的屬性饶唤,類的方法徐伐,實例化對象等。
b)語法
classmethod 語法:classmethod
c)參數(shù)
無募狂。
d)返回值
返回函數(shù)的類方法办素。
e)實例
class A(object):
bar = 1
def func1(self):
print('foo')
@classmethod
def func2(cls):
print('func2')
print(cls.bar)
cls().func1() # 調(diào)用 foo 方法
A.func2() # 不需要實例化
運行結(jié)果:
func2
1
foo
13、compile()
a)描述
原文:
Compile source into a code object that can be executed by exec() or eval().
The source code may represent a Python module, statement or expression.
The filename will be used for run-time error messages.
The mode must be 'exec' to compile a module, 'single' to compile a single (interactive) statement, or 'eval' to compile an expression.
The flags argument, if present, controls which future statements influence the compilation of the code.
The dont_inherit argument, if true, stops the compilation inheriting the effects of any future statements in effect in the code calling compile; if absent or false these statements do influence the compilation, in addition to any features explicitly specified.
中文:
將源代碼編譯成可以由exec()或eval()執(zhí)行的代碼對象祸穷。
源代碼可以代表一個Python模塊性穿,語句或表達式。
該文件名將用于運行時錯誤消息雷滚。
模式必須是'exec'來編譯一個模塊需曾,'single'來編譯一個(交互的)語句,或者'eval'來編譯一個表達式祈远。
標(biāo)記參數(shù)呆万,如果存在,控制哪些未來的語句影響代碼的編譯车份。
如果dont_inherit參數(shù)為真谋减,則停止編譯,繼承代碼調(diào)用compile時任何未來語句的效果;如果不存在或為false扫沼,除了顯式指定的任何特性外出爹,這些語句還會影響編譯。
b)語法
compile() 方法的語法:compile(source, filename, mode[, flags[, dont_inherit]])
c)參數(shù)
source:字符串或者AST(Abstract Syntax Trees)對象充甚。
filename:代碼文件名稱以政,如果不是從文件讀取代碼則傳遞一些可辨認(rèn)的值。
mode:指定編譯代碼的種類伴找∮可以指定為 exec, eval, single。
flags:變量作用域技矮,局部命名空間抖誉,如果被提供,可以是任何映射對象衰倦。
flags和dont_inherit是用來控制編譯源碼時的標(biāo)志袒炉。
d)返回值
返回表達式執(zhí)行結(jié)果。
e)實例
str = "for i in range(0,10): print(i)"
c = compile(str,'','exec') # 編譯為字節(jié)代碼對象
print("c:",c)
exec(c)
str = "3 * 4 + 5"
a = compile(str,'','eval')
print("eval(a):",eval(a))
運行結(jié)果:
c: <code object <module> at 0x0000017AFFA770E0, file "", line 1>
0
1
2
3
4
5
6
7
8
9
eval(a): 17
14樊零、complex()
a)描述
complex() 函數(shù)用于創(chuàng)建一個值為 real + imag * j 的復(fù)數(shù)或者轉(zhuǎn)化一個字符串或數(shù)為復(fù)數(shù)我磁。如果第一個參數(shù)為字符串孽文,則不需要指定第二個參數(shù)。
b)語法
complex 語法:class complex([real[, imag]])
c)參數(shù)
real:int, long, float或字符串夺艰。
imag:int, long, float芋哭。
d)返回值
返回一個復(fù)數(shù)。
e)實例
print("complex(1, 2):",complex(1, 2))
print("complex(1):",complex(1)) # 數(shù)字
print("complex('1'):",complex('1')) # 當(dāng)做字符串處理
# 注意:這個地方在"+"號兩邊不能有空格郁副,也就是不能寫成"1 + 2j"减牺,應(yīng)該是"1+2j",否則會報錯
print("complex('1+2j'):",complex('1+2j'))
運行結(jié)果:
complex(1, 2): (1+2j)
complex(1): (1+0j)
complex('1'): (1+0j)
complex('1+2j'): (1+2j)
15存谎、delattr()
a)描述
原文:
Deletes the named attribute from the given object.
delattr(x, 'y') is equivalent to "del x.y".
中文:
從給定對象中刪除命名屬性拔疚。
delattr(x, 'y') 相當(dāng)于 '' del x.y "既荚。
b)語法
delattr 語法:delattr(object, name)
c)參數(shù)
object:對象稚失。
name:必須是對象的屬性。
d)返回值
無固以。
e)實例
class Coordinate:
x = 10
y = -5
z = 0
point1 = Coordinate()
print('x = ', point1.x)
print('y = ', point1.y)
print('z = ', point1.z)
delattr(Coordinate, 'z')
print('--刪除 z 屬性后--')
print('x = ', point1.x)
print('y = ', point1.y)
# 觸發(fā)錯誤
print('z = ', point1.z)
運行結(jié)果:
Traceback (most recent call last):
File "D:/Python_Project/Temp.py", line 1041, in <module>
print('z = ', point1.z)
AttributeError: 'Coordinate' object has no attribute 'z'
x = 10
y = -5
z = 0
--刪除 z 屬性后--
x = 10
y = -5
16墩虹、dict()
a)描述
dict() 函數(shù)用于創(chuàng)建一個字典。
b)語法
dict 語法:
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
c)參數(shù)
**kwargs:關(guān)鍵字
mapping:元素的容器憨琳。
iterable:可迭代對象诫钓。
d)返回值
返回一個字典。
e)實例
print("dict():",dict()) # 創(chuàng)建空字典
print("dict(a='a', b='b', t='t'):",dict(a='a', b='b', t='t')) # 傳入關(guān)鍵字
print("dict(zip(['one', 'two', 'three'], [1, 2, 3])):",dict(zip(['one', 'two', 'three'], [1, 2, 3]))) # 映射函數(shù)方式來構(gòu)造字典
print("dict([('one', 1), ('two', 2), ('three', 3)]):",dict([('one', 1), ('two', 2), ('three', 3)])) # 可迭代對象方式來構(gòu)造字典
運行結(jié)果:
dict(): {}
dict(a='a', b='b', t='t'): {'a': 'a', 'b': 'b', 't': 't'}
dict(zip(['one', 'two', 'three'], [1, 2, 3])): {'one': 1, 'two': 2, 'three': 3}
dict([('one', 1), ('two', 2), ('three', 3)]): {'one': 1, 'two': 2, 'three': 3}
17篙螟、dir()
a)描述
原文:
If called without an argument, return the names in the current scope.
Else, return an alphabetized list of names comprising (some of) the attributes of the given object, and of attributes reachable from it.
If the object supplies a method named __dir__
, it will be used; otherwise the default dir() logic is used and returns:
for a module object: the module's attributes.
for a class object: its attributes, and recursively the attributes of its bases.
for any other object: its attributes, its class's attributes, and recursively the attributes of its class's base classes.
中文:
如果沒有參數(shù)調(diào)用菌湃,則返回當(dāng)前范圍中的名稱。
否則遍略,返回一個按字母順序排列的名稱列表惧所,其中包含(一些)給定對象的屬性,以及從中可以訪問的屬性绪杏。
如果對象提供了一個名為__dir__
的方法下愈,則使用該方法;否則將使用默認(rèn)的dir()邏輯并返回:
作為模塊對象:模塊的屬性。
作為一個類對象:它的屬性蕾久,遞歸地為它的基的屬性势似。
作為任何其他對象:它的屬性,它的類的屬性僧著,以及遞歸地它的類的基類的屬性履因。
詮釋:
dir() 函數(shù)不帶參數(shù)時,返回當(dāng)前范圍內(nèi)的變量盹愚、方法和定義的類型列表栅迄;帶參數(shù)時,返回參數(shù)的屬性皆怕、方法列表毅舆。如果參數(shù)包含方法dir()西篓,該方法將被調(diào)用。如果參數(shù)不包含dir()朗兵,該方法將最大限度地收集參數(shù)信息污淋。
b)語法
dir 語法:dir([object])
c)參數(shù)
object:對象、變量余掖、類型。
d)返回值
返回模塊的屬性列表礁鲁。
e)實例
print("dir():",dir()) # 獲得當(dāng)前模塊的屬性列表
print("dir([ ]):",dir([ ])) # 查看列表的方法
運行結(jié)果:
dir(): ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
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)描述
原文:
Return the tuple (x//y, x%y). Invariant: div*y + mod == x.
中文:
返回元組(x//y,x% y)仅醇。 不變: Div = y = 模式 = = x冗美。
詮釋:
divmod() 函數(shù)接收兩個數(shù)字類型(非復(fù)數(shù))參數(shù),返回一個包含商和余數(shù)的元組(a // b, a % b)析二。
b)語法
divmod() 語法:divmod(a, b)
c)參數(shù)
a:數(shù)字粉洼,非復(fù)數(shù)。
b:數(shù)字叶摄,非復(fù)數(shù)属韧。
如果參數(shù) a 與 參數(shù) b 都是整數(shù),函數(shù)返回的結(jié)果相當(dāng)于 (a // b, a % b)蛤吓。
如果其中一個參數(shù)為浮點數(shù)時宵喂,函數(shù)返回的結(jié)果相當(dāng)于 (q, a % b),q 通常是 math.floor(a / b)会傲,但也有可能是 1 锅棕,比小,不過 q * b + a % b 的值會非常接近 a淌山。
如果 a % b 的求余結(jié)果不為 0 裸燎,則余數(shù)的正負符號跟參數(shù) b 是一樣的,若 b 是正數(shù)泼疑,余數(shù)為正數(shù)德绿,若 b 為負數(shù),余數(shù)也為負數(shù)王浴,并且 0 <= abs(a % b) < abs(b)脆炎。
d)返回值
返回一個包含商和余數(shù)的元組(a // b, a % b)
e)實例
print("divmod(7, 2):",divmod(7, 2))
print("divmod(8, 2):",divmod(8, 2))
print("divmod(8, -2):",divmod(8, -2))
print("divmod(3, 1.3):",divmod(3, 1.3))
運行結(jié)果:
divmod(7, 2): (3, 1)
divmod(8, 2): (4, 0)
divmod(8, -2): (-4, 0)
divmod(3, 1.3): (2.0, 0.3999999999999999)
19、enumerate()
a)描述
enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表氓辣、元組或字符串)組合為一個索引序列秒裕,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中钞啸。
b)語法
enumerate() 方法的語法:enumerate(sequence, [start=0])
c)參數(shù)
sequence:一個序列几蜻、迭代器或其他支持迭代對象喇潘。
start:下標(biāo)起始位置。
d)返回值
返回 enumerate(枚舉) 對象梭稚。
e)實例
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
list(enumerate(seasons, start=1)) # 小標(biāo)從 1 開始
# 普通的 for 循環(huán)
print("普通的 for 循環(huán):")
i = 0
seq = ['one', 'two', 'three']
for element in seq:
print(i, seq[i])
i += 1
# for 循環(huán)使用 enumerate
print("for 循環(huán)使用 enumerate:")
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
print(i, seq[i])
運行結(jié)果:
list(enumerate(seasons)): [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1)): [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
普通的 for 循環(huán):
0 one
1 two
2 three
for 循環(huán)使用 enumerate:
0 one
1 two
2 three
20颖低、eval()
a)描述
原文:
Evaluate the given source in the context of globals and locals.
The source may be a string representing a Python expression or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping, defaulting to the current globals and locals.
If only globals is given, locals defaults to it.
中文:
在全局變量和局部變量的上下文中計算給定的源。
源可以是表示Python表達式的字符串弧烤,也可以是compile()返回的代碼對象忱屑。
全局變量必須是字典,局部變量可以是任何映射暇昂,默認(rèn)為當(dāng)前全局變量和局部變量莺戒。
如果只提供全局變量,則局部變量默認(rèn)為全局變量急波。
詮釋:
eval() 函數(shù)用來執(zhí)行一個字符串表達式从铲,并返回表達式的值。
b)語法
eval() 方法的語法:eval(expression[, globals[, locals]])
c)參數(shù)
expression:表達式澄暮。
globals:變量作用域名段,全局命名空間,如果被提供泣懊,則必須是一個字典對象伸辟。
locals:變量作用域,局部命名空間嗅定,如果被提供自娩,可以是任何映射對象。
d)返回值
返回表達式計算結(jié)果渠退。
e)實例
x = 7
print("eval('3 * x'):",eval('3 * x'))
print("eval('pow(2,2)'):",eval('pow(2,2)'))
print("eval('2 + 2'):",eval('2 + 2'))
n = 81
print("eval('n + 4'):",eval('n + 4'))
運行結(jié)果:
eval('3 * x'): 21
eval('pow(2,2)'): 4
eval('2 + 2'): 4
eval('n + 4'): 85