def abs(*args, **kwargs)
返回參數的絕對值。
a = -5 print(abs(a)) #打印結果:5
all(*args, **kwargs)
all() 函數用於判斷給定的可迭代參數 iterable 中的全部元素是否都爲 TRUE,若是是返回 True,不然返回 False。
元素除了是 0、空、FALSE 外都算 TRUE。
PS:注意:空元組、空列表返回值爲True,這裏要特別注意。
all(['a', 'b', 'c', 'd']) # 列表list,元素都不爲空或0 True
all(['a', 'b', '', 'd']) # 列表list,存在一個爲空的元素 False
all([0, 1,2, 3]) # 列表list,存在一個爲0的元素 False
all(('a', 'b', 'c', 'd')) # 元組tuple,元素都不爲空或0 True
all(('a', 'b', '', 'd')) # 元組tuple,存在一個爲空的元素 False
all((0, 1, 2, 3)) # 元組tuple,存在一個爲0的元素 False
all([]) # 空列表 True
all(()) # 空元組 True
any(*args, **kwargs)
any() 函數用於判斷給定的可迭代參數 iterable 是否所有爲 False,則返回 False,若是有一個爲 True,則返回 True。
元素除了是 0、空、FALSE 外都算 TRUE。
若是都爲空、0、false,則返回false,若是不都爲空、0、false,則返回true。
any(['a', 'b', 'c', 'd']) # 列表list,元素都不爲空或0 True
any(['a', 'b', '', 'd']) # 列表list,存在一個爲空的元素 True
any([0, '', False]) # 列表list,元素全爲0,'',false False
any(('a', 'b', 'c', 'd')) # 元組tuple,元素都不爲空或0 True
any(('a', 'b', '', 'd')) # 元組tuple,存在一個爲空的元素 True
any((0, '', False)) # 元組tuple,元素全爲0,'',false False
any([]) # 空列表 False
any(()) # 空元組 False
python中any()和all()如何使用
本質上講,any()實現了或(OR)運算,而all()實現了與(AND)運算。
更多:https://blog.csdn.net/cython22/article/details/78829288
ascii(*args, **kwargs)
ascii() 函數相似 repr() 函數, 返回一個表示對象的字符串, 可是對於字符串中的非 ASCII 字符則返回經過 repr() 函數使用 \x, \u 或 \U 編碼的字符。 生成字符串相似 Python2 版本中 repr() 函數的返回值。
ascii('runoob') "'runoob'" #打印結果
bin(*args, **kwargs)
返回一個整數 int 或者長整數 long int 的二進制表示。
print(bin(13)) #打印結果:0b1101
bool(int)
Python 中布爾值使用常量 True 和 False 來表示。
一、在數值上下文環境中,True 被看成 1,False 被看成 0,例如:
print(True+3) #輸出結果:4 print(False+2) #輸出結果:2
二、其餘類型值轉換 bool 值時除了 ''、""、''''''、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False 爲 False 外,其餘都爲 True 例如:
print(bool(-2)) #輸出結果:True print(bool('')) ##輸出結果:False
bytearray(object)
返回一個新字節數組。這個數組裏的元素是可變的,而且每一個元素的值範圍: 0 <= x < 256。
a = [1,2,3] print(bytearray(a)) #輸出結果:bytearray(b'\x01\x02\x03')
bytes(object)
返回一個新的 bytes 對象,該對象是一個 0 <= x < 256 區間內的整數不可變序列。它是 bytearray 的不可變版本。
a = [1,2,3] print(bytes(a)) #輸出結果:b'\x01\x02\x03'
callable(i_e_, some_kind_of_function)
用於檢查一個對象是不是可調用的。若是返回True,object仍然可能調用失敗;但若是返回False,調用對象ojbect絕對不會成功。
對於函數, 方法, lambda 函式, 類, 以及實現了 __call__ 方法的類實例, 它都返回 True。
callable(0) False callable("runoob") False def add(a, b): ... return a + b callable(add) # 函數返回 True True class A: # 類 ... def method(self): ... return 0 callable(A) # 類返回 True True a = A() callable(a) # 沒有實現 __call__, 返回 False False class B: ... def __call__(self): ... return 0 callable(B) True b = B() callable(b) # 實現 __call__, 返回 True True
chr(*args, **kwargs)
用一個範圍在 range(256)內的(就是0~255)整數做參數,返回一個對應的字符。
能夠是10進制也能夠是16進制的形式的數字。
返回值是當前整數對應的ascii字符。
print(chr(0x61)) #輸出結果:a print(chr(49)) #輸出結果:1
classmethod(object)
修飾符對應的函數不須要實例化,不須要 self 參數,但第一個參數須要是表示自身類的 cls 參數,能夠來調用類的屬性,類的方法,實例化對象等。
class A(object): bar = 1 def func1(self): print('foo') @classmethod def func2(cls): print('func2') print(cls.bar) cls().func1() # 調用 foo 方法 A.func2() # 不須要實例化 輸出結果: func2 1 foo
compile(*args, **kwargs)
將一個字符串編譯爲字節代碼。
str = "3 * 4 + 5" a = compile(str,'','eval') print(eval(a)) #輸出結果:17
complex(object)
用於建立一個值爲 real + imag * j 的複數或者轉化一個字符串或數爲複數。若是第一個參數爲字符串,則不須要指定第二個參數。。
complex(1, 2) (1 + 2j) complex(1) # 數字 (1 + 0j) complex("1") # 當作字符串處理 (1 + 0j) # 注意:這個地方在"+"號兩邊不能有空格,也就是不能寫成"1 + 2j",應該是"1+2j",不然會報錯 complex("1+2j") (1 + 2j)
delattr(x, y)
用於刪除屬性。
delattr(x, 'foobar') 相等於 del x.foobar。
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) # 觸發錯誤 print('z = ', point1.z) 輸出結果: ('x = ', 10) ('y = ', -5) ('z = ', 0) --刪除 z 屬性後-- ('x = ', 10) ('y = ', -5) Traceback (most recent call last): File "test.py", line 22, in <module> print('z = ',point1.z) AttributeError: Coordinate instance has no attribute 'z'
class dict(object)
字典是另外一種可變容器模型,且可存儲任意類型對象。
字典的每一個鍵值 key=>value 對用冒號 : 分割,每一個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式以下所示:
d = {key1 : value1, key2 : value2 }鍵通常是惟一的,若是重複最後的一個鍵值對會替換前面的,值不須要惟一。
dict = {'a': 1, 'b': 2, 'b': '3'}; dict['b'] '3' dict {'a': 1, 'b': '3'}
值能夠取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。
一個簡單的字典實例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此建立字典:
dict1 = { 'abc': 456 }; dict2 = { 'abc': 123, 98.6: 37 };
把相應的鍵放入熟悉的方括弧,以下實例:
實例
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print "dict['Name']: ", dict['Name']; print "dict['Age']: ", dict['Age'];
以上實例輸出結果:
dict['Name']: Zara dict['Age']: 7
若是用字典裏沒有的鍵訪問數據,會輸出錯誤以下:
實例
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print "dict['Alice']: ", dict['Alice']; 以上實例輸出結果: dict['Alice']: Traceback (most recent call last): File "test.py", line 5, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'
修改字典
向字典添加新內容的方法是增長新的鍵/值對,修改或刪除已有鍵/值對以下實例:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];
以上實例輸出結果:
dict['Age']: 8 dict['School']: DPS School
刪除字典元素
能刪單一的元素也能清空字典,清空只需一項操做。
顯示刪除一個字典用del命令,以下實例:
實例
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; del dict['Name']; # 刪除鍵是'Name'的條目 dict.clear(); # 清空詞典全部條目 del dict; # 刪除詞典 print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];
但這會引起一個異常,由於用del後字典再也不存在:
dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
注:del ()
方法後面也會討論。
字典鍵的特性
字典值能夠沒有限制地取任何python對象,既能夠是標準的對象,也能夠是用戶定義的,但鍵不行。
兩個重要的點須要記住:
1)不容許同一個鍵出現兩次。建立時若是同一個鍵被賦值兩次,後一個值會被記住,以下實例:
實例
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}; print "dict['Name']: ", dict['Name']; 以上實例輸出結果: dict['Name']: Manni
2)鍵必須不可變,因此能夠用數字,字符串或元組充當,因此用列表就不行,以下實例:
實例
dict = {['Name']: 'Zara', 'Age': 7}; print "dict['Name']: ", dict['Name']; 以上實例輸出結果: Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'Zara', 'Age': 7}; TypeError: list objects are unhashable
def dir(p_object=None)
dir() 函數不帶參數時,返回當前範圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。若是參數包含方法__dir__(),
該方法將被調用。若是參數不包含__dir__(),該方法將最大限度地收集參數信息。
print(dir()) #['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
def divmod(x, y)
把除數和餘數運算結果結合起來,返回一個包含商和餘數的元組(a // b, a % b)。
print(divmod(7,2)) #(3, 1) 商3,餘1 print(divmod(8,2)) #(4, 0) 商4,餘0
class enumerate(object)
用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,通常用在 for 循環當中。
seasons = ['Spring', 'Summer', 'Fall', 'Winter'] list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] list(enumerate(seasons, start=1)) # 下標從 1 開始 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
i = 0 seq = ['one', 'two', 'three'] for element in seq: print (i, seq[i]) i +=1 輸出結果: 0 one 1 two 2 three
def eval(*args, **kwargs)
用來執行一個字符串表達式,並返回表達式的值。
x = 7 print(eval('3 * x')) print(eval('pow(2,2)')) print(eval('2 + 2')) n =81 print(eval("n + 4")) 輸出結果: 21 4 4 85
def exec(*args, **kwargs)
執行儲存在字符串或文件中的 Python 語句,相比於 eval,exec能夠執行更復雜的 Python 代碼。
返回值
exec 返回值永遠爲 None。
exec('print("Hello World")') exec("print ('runoob.com')")
多行語句字符串 exec("""for i in range(5): print ("iter time: %d" % i) """)
輸出結果: Hello World runoob.com iter time: 0 iter time: 1 iter time: 2 iter time: 3 iter time: 4
class filter(object)
filter() 函數用於過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,若是要轉換爲列表,能夠使用 list() 來轉換。
該接收兩個參數,第一個爲函數,第二個爲序列,序列的每一個元素做爲參數傳遞給函數進行判,而後返回 True 或 False,最後將返回 True 的元素放到新列表中。
返回一個迭代器對象
def is_odd(n): return n % 2 == 1 tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) newlist = list(tmplist) print(newlist)