用於返回數字的絕對值。python
語法:abs( x ) x -- 數值表達式,能夠是整數,浮點數,複數。
a = 3.14 b = -7.36 print(abs(a)) # 3.14 print(abs(b)) # 7.36
用於判斷給定的可迭代參數中的全部元素是否都爲True,若是都爲True則返回True,只要有一個爲False則返回False。git
通常來講,除了0、空、None 、False等值外都算True。
語法: all(iterable) iterable -- 元組或列表
判斷可迭代參數中的全部元素是否都爲True:express
a = [] b = () c = (1, 2, "", 3) d = [0, 1, 2] print(all(a)) # True, 空列表返回值爲True print(all(b)) # True, 空元組返回值爲True print(all(c)) # False, 有一個空元素 print(all(d)) # False, 有一個元素0
注意:空元組、空列表返回值爲True。
用於判斷給定的可迭代參數是否所有爲 False,若是所有爲False,則返回False。若是有一個爲True,則返回True。app
語法: any(iterable) iterable -- 元組或列表
a = ['x', 'k', 'd'] b = ['', 123, "kk"] c = (0, '', False) d = ('xkd', 0, 123) print(any(a)) # True print(any(b)) # True,一個爲空,也返回True print(any(c)) # False,都爲False才返回False print(any(d)) # True,一個爲0,也返回True
返回對象的類型。ide
語法: type(object)
a = 123 b = 'xkd' c = [1, 2, 3] d = (1, 2, 3) print(type(a)) # <class 'int'> print(type(b)) # <class 'str'> print(type(c)) # <class 'list'> print(type(d)) # <class 'tuple'>
用於獲取對象的內存地址。函數
語法:id(object)
a = 123 b = 'xkd' print(id(a)) # 8791098294336 print(id(b)) # 31265904
返回任何對象的可讀版本,將使用轉義字符替換任何非ascii字符。ui
語法:ascii(object) object -- 對象
a = "xkd" b = "俠課島" print(ascii(a)) # 'xkd' print(ascii(b)) # '\u4fa0\u8bfe\u5c9b'
返回指定整數的二進制版本,結果將以0b
爲前綴開頭。編碼
語法: bin(number) number -- int整型或者long int長整型
a = 100 b = 1000 print(bin(a)) # 0b1100100 print(bin(b)) # 0b1111101000
用於將一個字符串或數字轉換爲整型。code
語法:int(n, base=10) n -- 字符串或數字 base -- 進制數,默認十進制
a = 1.02 b = '123' print(int(a)) # 1 print(int(b)) # 123 print(int()) # 沒有參數時,輸出結果爲0
將指定的值轉換爲字符串。orm
語法: str(object, encoding=encoding, errors=errors)
a = 123 print(type(a)) # <class 'int'> new_a = str(a) print(new_a, type(new_a)) # 123 <class 'str'>
返回指定對象的布爾值,若是沒有參數,則返回 False。
語法: bool(object)
print(bool(0)) # False print(bool(1)) # True print(bool()) # False,不帶參返回False
建立一個列表對象。列表對象是有序且可更改的集合。
語法:list(iterable)
# 字符串 a = "str" lst = list(a) print(lst, type(lst)) # ['s', 't', 'r'] <class 'list'> # 元組 tup = (1, 2, 3) lst1 = list(tup) print(lst1, type(lst1)) # [1, 2, 3] <class 'list'>
建立一個元組對象。
語法: tuple(iterable)
lst = ['a', 'b'] tup = tuple(lst) print(tup, type(tup)) # ('a', 'b') <class 'tuple'>
建立一個字典。
語法: class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg) **kwargs -- 關鍵字 mapping -- 元素的容器 iterable -- 可迭代對象
# 定義空字典 dic = dict() dic1 = dict(a=1, b=2, c=3) # 傳入關鍵字 print(dic1) # {'a': 1, 'b': 2, 'c': 3} dic2 = dict([('a', 1), ('b', 2), ('c', 3)]) # # 可迭代對象方式來構造字典 print(dic2) # {'a': 1, 'b': 2, 'c': 3} dic3 = dict(zip(['a', 'b', 'c'], [1, 2, 3])) # 映射函數方式來構造字典 print(dic3) # {'a': 1, 'b': 2, 'c': 3}
能夠將對象轉換爲bytearray對象,或者建立指定大小的空bytearray對象。
語法: bytearray(x, encoding, error) x -- 若是是整數,則將建立指定大小的空bytearray對象。若是是字符串,則按照指定的encoding將字符串轉換爲字節序列。 encoding -- 字符串的編碼 error -- 指定編碼失敗時要執行的操做
print(bytearray()) # bytearray(b'') print(bytearray(10)) # bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') print("xkd") # xkd print(bytearray([1, 2, 3])) # bytearray(b'\x01\x02\x03')
能夠將對象轉換爲字節對象,或建立指定大小的空字節對象。返回一個bytes對象。
語法: bytes(x, encoding, error)
a = bytes([1, 2, 3]) b = bytes("xkd", "ascii") print(a, type(a)) # b'\x01\x02\x03' <class 'bytes'> print(b, type(b)) # b'xkd' <class 'bytes'>
用於檢查一個函數是否可調用。若是指定的對象是可調用的,則返回True,不然返回False。
語法: callable(object)
a = 'xkd' def b(): pass print(callable(a)) # False print(callable(b)) # True
用一個整數做參數,返回一個對應的字符。
語法: chr(n) n -- 表示有效Unicode碼位的整數
a = 97 b = 1000 print(chr(a)) # a print(chr(b)) # Ϩ
classmethod 修飾符對應的函數不須要實例化,不須要 self 參數,但第一個參數須要是表示自身類的 cls 參數,能夠來調用類的屬性,類的方法,實例化對象等。
語法: classmethod
class Test(): n = 1 def show1(self): print("show1") @classmethod def show2(cls): print("show2") print(cls.n) cls().show1() # 調用show1方法 Test.show2() ''' show2 1 show1 '''
將一個字符串編譯爲字節代碼。
語法: compile(source, filename, mode, flag, dont_inherit, optimize) source -- 字符串或者AST對象 filename -- 代碼文件名稱,若是不是從文件讀取代碼則傳遞一些可辨認的值 mode -- 指定編譯代碼的種類。能夠指定爲 exec, eval, single flags -- 變量做用域,局部命名空間,若是被提供,能夠是任何映射對象 flags和dont_inherit是用來控制編譯源碼時的標誌。
com = compile('print(10)', 'test', 'exec') print(com) # <code object <module> at 0x000000000219BDB0, file "test", line 1> exec(com) # 10
用於建立一個值爲 real + imag * j 的複數或者轉化一個字符串或數爲複數。若是第一個參數爲字符串,則不須要指定第二個參數。
語法: complex(real, imaginary) real -- int, long, float或字符串 imag -- int, long, float
a = complex("1+2j") # 注意+號兩邊不能有空格,不然會報錯 print(a) # (1+2j) b = complex(1, 2) print(b) # (1+2j) c = complex("1") # 若是第一個參數爲字符串,則不須要指定第二個參數。 print(c) # (1+0j) d = complex("2j") print(d) # 2j
用於返回指定對象的指定屬性的值。
語法: getattr(object, attribute, default) object -- 對象。 attribute -- 字符串,對象屬性。 default -- 默認返回值,若是不提供該參數,在沒有對應屬性時,將觸發 AttributeError
class Test: id = 1 name = "NiNi" age = 18 sex = 'woman' result = getattr(Test, 'age') print(result) # 18
設置指定對象的指定屬性的值。
語法: setattr(object, attribute, value) object -- 對象 attribute -- 字符串,對象屬性 value -- 屬性值
class Test: id = 1 name = "Angle" age = 18 print(Test.age) # 18 setattr(Test, 'age', 20) print(Test.age) # 20
從指定的對象中刪除指定的屬性。delattr(x, 'foobar')
相等於 del x.foobar
。
語法: delattr(object, name) object -- 對象 name -- 必須是對象的屬性
class Test: id = 1 name = "NiNi" age = 18 sex = 'woman' print(Test.age) # 18 # 刪除age屬性 delattr(Test, 'age') print(Test.age) # AttributeError: type object 'Test' has no attribute 'age'
用於判斷對象是否包含對應的屬性。
語法: hasattr(object, attribute) object -- 對象 name -- 字符串,屬性名
class Test: id = 1 name = "NiNi" age = 18 sex = 'woman' result = hasattr(Test, "age") print(result) # True result1 = hasattr(Test, "kind") print(result1) # False
返回指定對象的全部屬性和方法,而不返回值。此函數將返回全部屬性和方法,甚至是全部對象的默認內置屬性。
語法: dir(object) object -- 對象、變量、類型
print(dir()) # 得到當前模塊的屬性列表 # ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
接收兩個數字類型(非複數)參數,返回一個包含商和餘數的元組(a // b, a % b)。
語法: divmod(divident, divisor) divident -- 數字,非複數 divisor -- 數字,非複數
print(divmod(7, 3)) # (2, 1) print(divmod(8, 4)) # (2, 0) print(divmod(9, -3)) # (-3, 0)
用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,通常用在 for 循環當中。
語法: enumerate(sequence, start) iterable -- 一個序列、迭代器或其餘支持迭代對象 start -- 下標起始位置
tup = ('x', 'k', 'd') for i in enumerate(tup): print(i) ''' (0, 'x') (1, 'k') (2, 'd') '''
lst = ['a', 'b', 'c'] for i in enumerate(lst): print(i) ''' (0, 'a') (1, 'b') (2, 'c') '''
用來執行一個字符串表達式,並返回表達式的值。
語法: eval(expression, globals, locals) expression -- 表達式 globals -- 變量做用域,全局命名空間,若是被提供,則必須是一個字典對象 locals -- 變量做用域,局部命名空間,若是被提供,能夠是任何映射對象
a = 10 print(eval('a + 1')) # 11 eval('print(a+1)') # 11
exec 執行儲存在字符串或文件中的 Python 語句,相比於 eval,exec能夠執行更復雜的 Python 代碼。
語法: exec(object, globals, locals) object -- 表示須要被指定的Python代碼 globals -- 表示全局命名空間,存放全局變量。若是被提供,則必須是一個字典對象 locals -- 表示當前局部命名空間,存放局部變量。若是被提供,能夠是任何映射對象
# 單行語句字符串 exec('print("xkd")') # xkd # 多行語句字符串 exec("""for i in range(5): print (i) """) ''' 輸出: 0 1 2 3 4 '''
根據提供的函數對指定序列作映射。
語法:map(function, iterable, ...) function -- 函數 iterable -- 一個或多個序列
def test(n): return n lst = ['x', 'k', 'd'] result = map(test, lst) print(result) # <map object at 0x0000000001E99648> for i in result: print(i) ''' x k d '''
用於過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,若是要轉換爲列表,能夠使用 list() 來轉換。
語法: filter(function, iterable) function -- 判斷函數 iterable -- 可迭代對象
def show(x): if x > 5: return True else: False result = filter(show, range(10)) for i in result: print(i) ''' 6 7 8 9 '''
用於將整數和字符串轉換成浮點數。
語法: float(value) value -- 整數或字符串
# 整數 print(float(10)) # 10.0 # 字符串 print(float('20')) # 20.0
將指定的值格式化爲指定的格式。
語法: format(value, format)
# 默認順序 print("{}{}".format("hello", "xkd")) # xkd # 指定位置 print("{0}{1}{2}".format("x", "k", "d")) # xkd print("{1}{0}{2}".format("x", "k", "d")) # kxd print("{2}{1}{0}".format("x", "k", "d")) # dkx
返回一個凍結的集合,凍結後集合不能再添加或刪除任何元素。
語法: frozenset(iterable) iterable -- 可迭代的對象,好比列表、字典、元組等
print(frozenset('xkd')) # frozenset({'k', 'd', 'x'}) print(frozenset(range(5))) # frozenset({0, 1, 2, 3, 4}) print(frozenset([0, 1, 2, 3])) # frozenset({0, 1, 2, 3})
會以字典類型返回當前位置的所有全局變量。
語法: globals()
x = globals() # globals 函數返回一個全局變量的字典,包括全部導入的變量 print(x) # {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000002101388>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/lu/PycharmProjects/haha/eefile/test.py', '__cached__': None, 'x': {...}}
用於判斷對象是否包含對應的屬性。
語法: hash(object)
# 整數 print(hash(10)) # 10 # 字符串 print(hash('xkd')) # -5490875864724092212 # 集合 print(hash(str([1, 2, 3]))) # 8155134905582437262 # 字典 print(hash(str(sorted({'a': 1})))) # -7283481375873243607
repr() 函數將對象轉化爲供解釋器讀取的形式。
語法: repr(object)
a = "xkd" print(repr(a)) # 'xkd' lst = [1, 2, 3] print(repr(lst)) # [1, 2, 3]
返回一個浮點數,它是指定數字的舍入版本(四捨五入),具備指定的小數位數。默認的小數位數爲0,表示該函數將返回最接近的整數。
語法: round(number, digits) number -- 數字表達式 digits -- 表示從小數點位數,其中number須要四捨五入,默認值爲0
print(round(3.1415926, 3)) # 3.142 print(round(3.52)) # 4
返回一個數字序列,默認狀況下從0開始,並遞增1(默認狀況下),並以指定的數字結束。
語法: range(start, stop, step) start -- 計數從 start 開始,默認是從 0 開始 stop -- 計數到 stop 結束,但不包括 stop step -- 步長,默認爲1
# 建立一個列表 print(list(range(10))) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] for i in range(5): print(i) # 0 1 2 3 4 for i in range(0, 5, 2): print(i) # 0 2 4
返回具備最低值的項,或具備可迭代值中最低值的項。
語法:min(n1, n2, n3, ...)
lst = [1, 5, 74, 3, 42] print(min(lst)) # 1 print(min(3, 8, 36)) # 3
返回具備最高值的項目,或具備可迭代值中具備最高值的項目。若是值是字符串,則按字母順序進行比較。
語法:max(n1, n2, n3, ...)
lst = [1, 5, 74, 3, 42] print(max(lst)) # 74 print(max(3, 8, 36)) # 36
用於在迭代中進行求和計算。
語法: sum(iterable, start) iterable -- 可迭代對象 start -- 指定相加的參數,若是沒有設置這個值,默認爲0
a = [0, 1, 2, 3, 4, 5] print(sum(a)) # 15 # 列表計算總和後,再加10 print(sum(a, 10)) # 25