Python3.5——內建方法引數詳解
阿新 • • 發佈:2019-01-29
Python的內建方法引數詳解網站為:https://docs.python.org/3/library/functions.html?highlight=built#ascii
1、abs(x):返回一個數字的絕對值。引數可以是整數或浮點數。如果引數是一個複數,則返回它的大小。
#內建函式abs()
print(abs(-2))
print(abs(4.5))
print(abs(0.1+7j))
#執行結果:
#2
#4.5
#7.000714249274855
2、all(Iterable):如果可迭代的物件的元素全部為真(即:非零)或可迭代物件為空,返回True,否則返回False
#內建函式all() print(all([-1,0,7.5])) print(all([9,-1.6,12])) print(all([])) #執行結果: #False #True #True
3、any(Iterable):如果可迭代的物件的元素中有一個為真(即:非零),返回True,可迭代物件的元素全部為零(全部為假)或者可迭代物件為空時則返回False。
#內建函式any()
print(any([-1,0,7.5]))
print(any([0,0,0]))
print(any([]))
#執行結果:
#True
#False
#False
4、ascii(object):將記憶體物件變成可列印的字串的形式。
5、bin(x):將十進位制整數轉換成二進位制#內建函式ascii(object) a = ascii([1,2,'你好']) print(type(a),[a]) #執行結果: #<class 'str'> ["[1, 2, '\\u4f60\\u597d']"]
#內建函式bin()
print(bin(0))
print(bin(2))
print(bin(8))
print(bin(255))
#執行結果:
#0b0
#0b10
#0b1000
#0b11111111
6、bool([x]):返回一個bool值,0:返回False,非0:返回True;空列表:返回False
#內建函式bool()
print(bool(0))
print(bool(1))
print(bool([]))
print(bool([3]))
#執行結果:
#False
#True
#False
#True
7、bytearray():返回一個新的位元組陣列,可修改的二進位制位元組格式。
8、callable(object):判斷是否可呼叫(函式和類可以呼叫),列表等不可呼叫#內建函式bytearray() a = bytes("abcde",encoding='utf-8') print(a) b = bytearray("abcde",encoding='utf-8') print(b) b[1] = 100 print(b) #執行結果: #b'abcde' #bytearray(b'abcde') #bytearray(b'adcde')
#內建函式callable
def nice():
pass
print(callable(nice))
print(callable([]))
#執行結果:
#True
#False
9、chr(i):返回數字對應的ASCII碼對應表;相反地,ord():返回ASCII碼對應的數字
#內建函式chr()與ord()
print(chr(98))
print(ord('c'))
#執行結果:
#b
#99
10、compile():將字串編譯成可執行的程式碼
#內建函式compile
code = "for i in range(10):print(i)"
print(compile(code,'','exec'))
exec(code)
執行結果:
<code object <module> at 0x008BF700, file "", line 1>
0
1
2
3
4
5
6
7
8
9
11、dir():可以查方法
#內建函式dir
s = []
print(dir(s))
#['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__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']
12、divmod(a,b):返回商和餘數
#內建函式divmod()
print(divmod(5,3))
print(divmod(8,9))
#執行結果:
#(1, 2)
#(0, 8)
13、enumerate():是列舉、列舉的意思。對於一個可迭代的(iterable)/可遍歷的物件(如列表、字串),enumerate將其組成一個索引序列,
利用它可以同時獲得索引和值;enumerate多用於在for迴圈中得到計數。
#內建函式enumerate
list = ['歡','迎','你']
for index,item in enumerate(list):
print(index,item)
#執行結果:
#0 歡
#1 迎
#2 你
13、eval():將字串str當成有效的表示式來求值並返回計算結果。
#內建函式eval()
#字串轉換成列表
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a))
b = eval(a)
print(b)
print(type(b))
#字串轉換成字典
a = "{1: 'a', 2: 'b'}"
print(type(a))
b = eval(a)
print(b)
print(type(b))
#字串轉換成元組
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))
b = eval(a)
print(b)
print(type(b))
執行結果:
<class 'str'>
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
<class 'list'>
<class 'str'>
{1: 'a', 2: 'b'}
<class 'dict'>
<class 'str'>
([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
<class 'tuple'>
14、filter(function,iterable):過濾序列。匿名函式用完釋放,不重複使用。
#匿名函式
calc = lambda n:print(n)
calc(3)
res = filter(lambda n:n>5,range(10))
for i in res:
print(i)
執行結果:
3
6
7
8
9
15、map():可以把一個 list 轉換為另一個 list,只需要傳入轉換函式.res = map(lambda n:n*n,range(5)) #等價於列表生成式[lambda i:i*i for i in range(5)]
for i in res:
print(i)
#執行結果:
0
1
4
9
16
16、reduce():python 3.0.0.0以後, reduce已經不在built-in function裡了, 要用它就得from functools import reduce.它可以通過傳給reduce中的函式(必須是二元函式)依次對資料集中的資料進行操作。
凡是要對一個集合進行操作的,並且要有一個統計結果的,能夠用迴圈或者遞迴方式解決的問題,一般情況下都可以用reduce方式實現。
from functools import reduce
res = reduce(lambda x,y:x+y,range(10)) #求和
res1 = reduce(lambda x,y:x*y,range(1,10)) #階乘
print(res)
print(res1)
#執行結果:
#45
#362880
17、globals():返回的是全域性變數的字典,修改其中的內容,值會真正的發生改變。
locals():會以dict型別返回當前位置的全部區域性變數。
def test():
loc_var = 234
print(locals())
test()
#執行結果:
#{'loc_var': 234}
18、hash():函式返回物件的雜湊值。返回的雜湊值是使用一個整數表示,通常使用在字典裡,以便實現快速查詢鍵值。
print(hash('liu'))
print(hash("liu"))
print(hash('al'))
print(hash(3))
#執行結果:
#-1221260751
#-1221260751
#993930640
#3
19、hex(x):將一個數字轉換成十六進位制
oct(x):將一個數字轉換成八進位制
print(hex(15))
print(hex(32))
#執行結果:
#0xf
#0x20
print(oct(8))
print(oct(16))
print(oct(31))
#執行結果:
#0o10
#0o20
#0o37
20、round():返回浮點數x的四捨五入值print(round(1.3457,3))
#執行結果:
#1.346
21、sorted():排序
a = {6:2,8:0,1:4,-5:6,99:11,4:22}
print(sorted(a.items())) #按照鍵排序
print(sorted(a.items(),key=lambda x:x[1])) #按照鍵值排序
#執行結果:
#[(-5, 6), (1, 4), (4, 22), (6, 2), (8, 0), (99, 11)]
#[(8, 0), (6, 2), (1, 4), (-5, 6), (99, 11), (4, 22)]
22、zip():接受任意多個(包括0個和1個)序列作為引數,返回一個tuple列表。a = [1,2,3,4]
b = ['a','b','c','d']
for i in zip(a,b):
print(i)
執行結果:
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
23、__import__('decorator')等價於import decorator