Python3.6.x中內(nèi)置函數(shù)總結(jié)及講解
Python3.6.x中內(nèi)置函數(shù)總結(jié)
# -*- coding:utf-8 -*- """ abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() staticmethod() bin() eval() int() open() str() bool() exec() isinstance() ord() sum() bytearray() filter() issubclass() pow() super() bytes() float() iter() print() tuple() callable() format() len() property() type() chr() frozenset() list() range() vars() classmethod() getattr() locals() repr() zip() compile() globals() map() reversed() __import__() complex() hasattr() max() round() delattr() hash() memoryview() set() """ from collections import Iterator,Iterable # abs(x) # 求絕對(duì)值 print(abs(-1),abs(1)) # all(iterable) # 如果iterable的所有元素都為真,則返回True(iterable為空,返回True) print(all([1,'a',[2]])) # True print(all([0,'a',[]])) # False print(all('')) # True # any(iterable) # 只要iterable中有一個(gè)元素為真,則返回True(iterable為空,返回False) print(any([1,[],''])) # True print(any([0,0.0,'',[],{},set()])) # False print(any([])) # False # ascii(s) # 只在Python3中支持,用于在不支持Unicode的平臺(tái)查看Unicode字符串 # 就像repr()那樣,創(chuàng)建對(duì)象的可打印形式,但在結(jié)果中只是用ascii字符,非ascii字符都轉(zhuǎn)換為合適的轉(zhuǎn)義序列。 print(ascii('hello你好')) # 'hello\u4f60\u597d' # repr(obj) # 將其它類型數(shù)據(jù)轉(zhuǎn)換為字符串,支持大部分內(nèi)置數(shù)據(jù)類型 print(repr(123)) # 123 print(repr('hello 你好')) # 'hello 你好' print(repr([1,2,3])) # [1, 2, 3] print(repr({'a':1})) # {'a': 1} print(repr(object())) # <object object at 0x7f4e9de470a0> # str(value='', encoding=None, errors='strict') # 轉(zhuǎn)換為字符串 print(str()) # '' print(str(666)) # 666 print(str(6.66)) # 6.66 print(str(b'666')) # b'666' # bin(x) # 返回一個(gè)字符串,其中包含整數(shù)x的二進(jìn)制形式 0b1010 print(bin(0),bin(1),bin(10)) # 0b0 0b1 0b1010 # class bool([x]) # 是class,返回True或False print(bool(),bool(0),bool(1),bool(''),bool('abc'),bool([]),bool([1]),bool(False),bool(True)) # False False True False True False True False True # class bytearray(source=None, encoding=None, errors='strict') # 返回一個(gè)字節(jié)數(shù)組,字符范圍[0,255] print(bytearray("hello 你好","utf-8")) # bytearray(b'hello \xe4\xbd\xa0\xe5\xa5\xbd') # bytes(value=b'', encoding=None, errors='strict') # 返回字節(jié)類型,字符范圍[0,255] print(bytes("hello 你好","utf-8")) # b'hello \xe4\xbd\xa0\xe5\xa5\xbd' # callable(o) # 返回True或者False,判斷一個(gè)給定對(duì)象 o 是否是可調(diào)用對(duì)象 print(callable(1),callable(''),callable(str)) # False False True # chr(x) # 返回Unicode編碼表中整數(shù)x對(duì)應(yīng)的字符 print(chr(65),chr(20001)) # A 両 # ord() # 返回單個(gè)字符在Unicode碼表中對(duì)應(yīng)的整數(shù)編碼 print(ord('A'),ord('李'),ord('永'),ord('平')) # 65 26446 27704 24179 # @classmethod() # 將一個(gè)普通函數(shù)轉(zhuǎn)換為類方法,等價(jià)于@classmethond裝飾器 class A(): def func01(*args): print('classmethod()',*args) classmethod(func01) @classmethod def func02(clz,*args): print('@classmethond',*args) A.func01() A.func02() # 輸出 # classmethod() # @classmethond # @staticmethod # 將一個(gè)普通函數(shù)轉(zhuǎn)換為靜態(tài)方法 class A(): def func01(*args): print('staticmethod()',*args) staticmethod(func01) @staticmethod def func02(*args): print('@staticmethod',*args) A.func01() A.func02() # 輸出 # staticmethod() # @staticmethod # compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) # 將字符串格式的源代碼,編譯為可以被exec()或eval()函數(shù)執(zhí)行的代碼code對(duì)象 # source:一個(gè)Python模塊或多個(gè)代碼塊,或者是單一代碼塊,或者是一個(gè)表達(dá)式 # filename:運(yùn)行時(shí)錯(cuò)誤消息提示 # mode:與source對(duì)應(yīng),模塊或多個(gè)代碼塊--"exec",單一代碼塊--"single",表達(dá)式--"eval" statements=""" print('-'*50) num=3 while num: print("hello") num-=1 print('-'*50)""" filename="run-time error" codes=compile(source=statements,filename=filename,mode="exec") print(type(codes)) # eval(codes) exec(codes) # 輸出 # <class 'code'> # -------------------------------------------------- # hello # hello # hello # -------------------------------------------------- # eval(expression, globals=None, locals=None) # 運(yùn)行Python表達(dá)式字符串或者是經(jīng)過compile()編譯后生成的code對(duì)象 # obj可以是字符串對(duì)象或者已經(jīng)由compile編譯過的代碼對(duì)象, # globals和locals是可選的,分別代表了全局和局部名稱空間中的對(duì)象,其中g(shù)lobals必須是字典,而locals是任意的映射對(duì)象 print(eval("2**3")) # 8 print(eval("type({'key':'value'})")) # <class 'dict'> # exec(object[, globals[, locals]]) # 運(yùn)行Python代碼字符串或者是經(jīng)過compile()編譯后生成的code對(duì)象 statements=""" num=1 if num<3: print("1<3")""" exec(statements) # 1<3 exec('print("exec")') # exec # class complex(real, imag=None) # 返回復(fù)數(shù) c=complex(1,2) print(c,c.real,c.imag) c=complex('1+2j') # c=complex('1 +2j') # 報(bào)錯(cuò)ValueError,字符串中不能包含空格 # c=complex('1+2i') # 報(bào)錯(cuò)ValueError,復(fù)數(shù)虛部必須使用英文字母 j 表示 print(c,c.real,c.imag) # 輸出 # (1+2j) 1.0 2.0 # (1+2j) 1.0 2.0 # delattr(obj,attr) # 等價(jià)于 del obj.attr # 刪除對(duì)象obj的attr屬性 class A: attr_01=1 attr_02=2 print(A.attr_01) delattr(A,'attr_01') # print(A.attr_01) # AttributeError: type object 'A' has no attribute 'attr_01' print(A.attr_02) del A.attr_02 # print(A.attr_02) # AttributeError: type object 'A' has no attribute 'attr_02' # class dict(**kwarg) # class dict(mapping, **kwarg) # class dict(iterable, **kwarg) # 返回一個(gè)字典對(duì)象 print(dict()) # {} print(dict(a=2,b=1)) # {'b': 1, 'a': 2} print(dict([('a',1),('b',2),('c',3)])) # {'a': 1, 'b': 2, 'c': 3} print(dict({'a':'A','b':'B'})) # {'a': 'A', 'b': 'B'} # dir(obj) # 參數(shù)為空,返回當(dāng)前作用域中的屬性和方法列表 # 參數(shù)不為空,返回參數(shù)對(duì)象obj的作用域中的屬性和方法列表 # 參數(shù)不為空,且該參數(shù)對(duì)象所屬類中重載了 __dir__(self) 運(yùn)算符,則返回 __dir__(self)的返回值 print(dir()) print(dir(int)) print(dir(dict)) class B(): def __dir__(self): return ['哼','哈'] def func(self): pass b=B() print(dir(b)) # ['哈', '哼'] # divmod(a,b) # 等價(jià)于 (a//b,a%b) # 返回長(zhǎng)除法的商與余數(shù)組成的元組 print(divmod(10,3),(10//3,10%3)) print(divmod(10,3.0),(10//3.0,10%3.0)) print(divmod(10.0,3),(10.0//3,10.0%3)) # (3, 1) (3, 1) # (3.0, 1.0) (3.0, 1.0) # (3.0, 1.0) (3.0, 1.0) # enumerate(i,start=0) # 根據(jù)給定iterable,返回枚舉類型對(duì)象,是iterator類型 print(list(enumerate('abc',start=1))) for item in enumerate('123',start=0): print(item) # 輸出 # [(1, 'a'), (2, 'b'), (3, 'c')] # (0, 'a') # (1, 'b') # (2, 'c') # filter(function, iterable) # 過濾序列中的值 # filter函數(shù)將序列iterable中的每一個(gè)元素傳入函數(shù)function中,如果返回值為真,則添加到結(jié)果集中;否則,過濾掉 # 如果function為None,則將iterable中值為True的元素添加到結(jié)果集中 data=[-1,0,1,2,3,False] res=filter(lambda x:x>=0,data) print(res) # <filter object at 0x7f97fe23f7b8> print(list(res)) # [0, 1, 2, 3, False] res=filter(None,data) print(list(res)) # [-1, 1, 2, 3] # class float([x]) # 生成浮點(diǎn)數(shù),x為數(shù)字或者字符串 # inf:無(wú)窮 print(float(),float(1),float('1'),float('+1.23'),float('+1E6'),float('-Infinity'),float(' -12345\n')) # 0.0 1.0 1.0 1.23 1000000.0 -inf -12345.0 # format(value, [format_spec]) # 格式化顯示value的值,類型為str # 如果format_spec為空,則等效于str(value) print(format(123)) # 123 print(format(True)) # True print(format({'a':1,'b':2})) # {'a':1,'b':2} print(format(123,'b')) # 格式化為2進(jìn)制 1111011 print(format(123,'o')) # 格式化為8進(jìn)制 173 print(format(123,'d')) # 格式化為10進(jìn)制 123 print(format(123,'x')) # 格式化為16進(jìn)制,使用小寫字母顯示 7b print(format(123,'X')) # 格式化為16進(jìn)制,使用大寫在木顯示 7B print(format(123456789.123456789,'e')) # 科學(xué)計(jì)數(shù)法,默認(rèn)保留6位小數(shù) 1.234568e+08 print(format(123456789.123456789,'0.2e')) # 科學(xué)計(jì)數(shù)法,保留2位小數(shù) 1.23e+08 print(format(123456789.123456789,'E')) # 科學(xué)計(jì)數(shù)法,1.234568E+08 print(format(123456789.123456789,'0.2E')) # 科學(xué)計(jì)數(shù)法,1.23E+08 print(format(123456789.123456789,'f')) # 小數(shù)點(diǎn)計(jì)數(shù)法,默認(rèn)保留6位小數(shù),123456789.123457 print(format(123456789.123456789,'0.2f')) # 小數(shù)點(diǎn)計(jì)數(shù)法,保留2位小數(shù),123456789.12 print(format(1.0e+1000,'F'),format(-1.0e+1000,'F')) # 小數(shù)點(diǎn)計(jì)數(shù)法,無(wú)窮大轉(zhuǎn)換為字母 INF,-INF # class set([iterable]) # 獲取一個(gè)set實(shí)例對(duì)象,可變,元素不重復(fù) print(set()) # set() print(set('123')) # {'2', '3', '1'} # class frozenset([iterable]) # 返回一個(gè)frozenset實(shí)例對(duì)象,不可變,元素不重復(fù) print(frozenset()) # frozenset() print(frozenset('123')) # frozenset({'2', '3', '1'}) # getattr(object, name[, default]) # 返回object的name屬性值,name必須是str類型 # 如果不存在name屬性,設(shè)置了default返回default值,否則,拋出異常AttributeError class A(object): attr_01='value_01' print(getattr(A,'attr_01')) print(getattr(A,'attr_02','value_02')) # print(getattr(A,'attr_03')) # AttributeError: type object 'A' has no attribute 'attr_03' # hasattr(object, name) # 判斷object是否擁有屬性name,返回True或False print(hasattr(A,'attr_01')) # True print(hasattr(A,'attr_02')) # False # setattr(object, name, value) # 給object設(shè)置屬性name,值為value setattr(A,'attr_02','value_02') print(hasattr(A,'attr_02')) # True # globals() # 返回屬于全局作用域的屬性或者方法的字典表 print(globals()) # locals() # 返回屬于本地作用域的屬性和方法的字典表 print(locals()) def function(): a,b=1,2 print(locals()) # {'b': 2, 'a': 1} function() # vars(object) # 返回任意對(duì)象的__dict__屬性,前提是存在該屬性 print(vars(int)) # hash(object) # 返回object的哈希值,大小相等的數(shù)字,哈希值一定相同 print(hash(1),hash(1.0)) print(hash(A),hash(A())) print(hash(int),hash(hash)) # help([object]) # 調(diào)用內(nèi)置的幫助系統(tǒng) # object可以為空,module, function, class, method, keyword, or documentation topi # help() # import re # help(re) # help(hash) # help('class') # class int(x=0) # class int(x, base=10) # 將給定數(shù)據(jù)x從base進(jìn)制轉(zhuǎn)換為10進(jìn)制int # x為數(shù)字或可轉(zhuǎn)換為數(shù)字的字符串,base為數(shù)字x本來(lái)的進(jìn)制 print(int(255)) # 255 print(int('255')) # 255 print(int('255',base=10)) # 255 print(int('255',base=8)) # 173 # oct(x) # 將10進(jìn)制數(shù)x轉(zhuǎn)換為8進(jìn)制數(shù) print(oct(255)) # 0o377 # hex(x) # 將一個(gè)int類型的數(shù)字轉(zhuǎn)換為16進(jìn)制 print(hex(255),hex(0)) # 0xff 0x0 # id() # 返回代表object身份的一個(gè)int數(shù)字,可以認(rèn)為C語(yǔ)言中"對(duì)象的內(nèi)存地址" print(id(0)) print(id(id)) # input([prompt]) # 接收用戶的輸入并返回字符串 # value=input('--->') # print(value) # print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) # *args:任意多個(gè)字符串 # sep:字符串之間的分割符,默認(rèn)為空格 # end:結(jié)束符號(hào),默認(rèn)為換行 \n print('a','b','c',sep='$',end='\n\n') # isinstance(object, classinfo) # 判斷object是否是classinfo的一個(gè)實(shí)例 class A():pass print(isinstance(1,int)) # True print(isinstance(A(),A)) # True # issubclass(class, classinfo) # 判斷class是否是classinfo的一個(gè)子類 class A():pass class B(A):pass print(issubclass(B,A)) # True # iter(object[, sentinel]) # 將一個(gè)可迭代對(duì)象轉(zhuǎn)換為迭代器Iterator i=iter('abc') print(type(i)) # next(iterator[, default]) # 返回迭代器的下一個(gè)元素 # 如果沒有下一個(gè),返回default參數(shù),如果沒有default,拋出StopIteration異常 print(next(i),next(i),next(i)) # print(next(i)) # StopIteration print(next(i,'沒有更多元素了')) # len(iterable) # 返回iterable的元素個(gè)數(shù) print(len('abc')) # 3 print(len([1,2,3])) # 3 print(len((1,2,3))) # 3 print(len({'a':1})) # 1 print(len({1,2,3})) # 3 # class list([iterable]) # 實(shí)例化一個(gè)list對(duì)象 print(list()) print(list('abcd')) print(list(range(5))) # map(function, iterable, ...) # 在序列中映射函數(shù):map函數(shù)會(huì)對(duì)一個(gè)序列對(duì)象中的每一個(gè)元素應(yīng)用被傳入的函數(shù),并返回一個(gè)包含所有函數(shù)調(diào)用結(jié)果的映射集合 # res=map(lambda x:x,[1,2,3]) res=map(lambda x,y:x+y,[1,2,3],[4,5,6]) print(type(res)) print(list(res)) # max() # 返回給定序列中的最大值 print(max(1,2)) # 2 print(max([1,2])) # 2 print(max({'a':2,'b':1})) # b print(max({'a','b'})) # b # min() # 返回給定序列中的最小值 print(min(1,2)) # 1 print(min([1,2])) # 1 print(min({'a':2,'b':1})) # a print(min({'a','b'})) # a # memoryview(object) # 什么鬼?內(nèi)存視圖?C中的指針? view=memoryview(b'abcd') print(view[0]) # 97 # class object # 返回一個(gè)object print(object) #<class 'object'> print(object()) # <object object at 0x7fc4731ef0c0> # open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) # 打開一個(gè)文件對(duì)象 # pow(x,y,[z]) # 2個(gè)參數(shù)時(shí),等效于x**y # 3個(gè)參數(shù)時(shí),等效于x**y%z print(pow(10,3)) # 1000 print(pow(10,3,3)) # 1 # class property(fget=None, fset=None, fdel=None, doc=None) # 不懂? # range([start,]stop[,sep]) # 生成數(shù)字列表 r=range(5) print(type(r),isinstance(r,Iterator)) # <class 'range'> False for i in range(1,10,2): print(i,end=' ') # 1 3 5 7 9 print('\n') # reversed(seq) # 翻轉(zhuǎn)序列seq,返回Iterator i=reversed(['a','b','c']) print(i) print(next(i),next(i),next(i),next(i,'沒有了')) # round(number[, ndigits]) # 四舍五入 # ndigits為保留小數(shù)點(diǎn)位數(shù),默認(rèn)為0 print(round(16),round(16.18),round(8.88),round(-8.88)) # 16 16 9 -9 print(round(16,1),round(16.18,1),round(8.88,1),round(-8.88,1)) # 16 16.2 8.9 -8.9 # class slice(stop)¶ # class slice(start, stop[, step]) # 返回一個(gè)切片slice對(duì)象,表示步距,可用于切片操作,實(shí)際上對(duì)可迭代對(duì)象的切片操作就是調(diào)用了slice方法 print(slice(5)) # slice(None, 5, None) print(slice(1,5)) # slice(1, 5, None) print(slice(1,5,2)) # slice(1, 5, 2) seq='abcdefghj' print(seq[slice(5)]) # abcde print(seq[slice(1,5,2)])# bd # sorted(iterable, *, key=None, reverse=False) # 對(duì)可迭代對(duì)象進(jìn)行排序 # key為函數(shù),依次作用于每個(gè)元素 # reverse為是否倒序排序 print(sorted('872Aadbc',key=None,reverse=True)) # ['d', 'c', 'b', 'a', 'A', '8', '7', '2'] print(sorted('872Aadbc',key=lambda x :str.lower(x),reverse=True)) # ['d', 'c', 'b', 'A', 'a', '8', '7', '2'] # sum(iterable[, start]) # 求和:iterable中各元素之和,加上第二個(gè)參數(shù)start的值 # 第二個(gè)參數(shù)start默認(rèn)為0 print(sum([1,2,3])) print(sum([1,2,3],10)) # super([type[, object-or-type]]) # 調(diào)用父類中的方法 class A(object): def methond(self): print('----A----') class B(A): def methond(self): super(B,self).methond() # 等價(jià)于 # super().methond() print('----B----') B.methond(B()) # tuple([iterable]) # 返回一個(gè)元祖對(duì)象,不可變的list print(tuple(['L','O','V','E','E'])) # type(obj) # 返回obj的數(shù)據(jù)類型 print(type(0)) print(type('')) print(type([])) print(type((0,))) print(type({})) # zip() # 創(chuàng)建一個(gè)迭代器,結(jié)果為倆個(gè)Iterable中各元素從開始位置開始的映射關(guān)系 # 如果2個(gè)Iterable中的元素個(gè)數(shù)不同,則舍棄比較多的元素 ziped=zip('abcd','1234') print(isinstance(ziped,Iterator)) # True print(list(ziped)) # [('a', 'A'), ('b', 'B'), ('c', 'C'), ('d', 'D')] ziped=zip('abc','1234') print(list(ziped)) # [('a', '1'), ('b', '2'), ('c', '3')] ziped=zip('abcd','123') print(list(ziped)) # [('a', '1'), ('b', '2'), ('c', '3')] print(list(zip('abc'))) # [('a',), ('b',), ('c',)] print(list(zip('abc',''))) # [] # __import__(name, globals=None, locals=None, fromlist=(), level=0) # 不常用的高級(jí)函數(shù) # import importlib # importlib.import_module('module_name')
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- 淺談python函數(shù)之作用域(python3.5)
- Python3.2中Print函數(shù)用法實(shí)例詳解
- Python3.2中的字符串函數(shù)學(xué)習(xí)總結(jié)
- 深入理解Python3 內(nèi)置函數(shù)大全
- Python3.x中自定義比較函數(shù)
- Python3中條件控制、循環(huán)與函數(shù)的簡(jiǎn)易教程
- Python3匿名函數(shù)用法示例
- 對(duì)Python3之進(jìn)程池與回調(diào)函數(shù)的實(shí)例詳解
- Python3中l(wèi)ambda表達(dá)式與函數(shù)式編程講解
- python3中函數(shù)參數(shù)的四種簡(jiǎn)單用法
- Python3.5基礎(chǔ)之函數(shù)的定義與使用實(shí)例詳解【參數(shù)、作用域、遞歸、重載等】
相關(guān)文章
使用python采集Excel表中某一格數(shù)據(jù)
這篇文章主要介紹了使用python采集Excel表中某一格數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python實(shí)現(xiàn)杰卡德距離以及環(huán)比算法講解
這篇文章主要為大家介紹了Python實(shí)現(xiàn)杰卡德距離以及環(huán)比算法的示例講解,有需要的朋友可以借鑒參考下2022-02-02使用Python對(duì)網(wǎng)易云歌單數(shù)據(jù)分析及可視化
這篇文章主要介紹了使用Python對(duì)網(wǎng)易云歌單數(shù)據(jù)分析及可視化,本項(xiàng)目以數(shù)據(jù)采集、處理、分析及數(shù)據(jù)可視化為項(xiàng)目流程,需要的朋友可以參考下2023-03-03python數(shù)學(xué)建模之三大模型與十大常用算法詳情
這篇文章主要介紹了python數(shù)學(xué)建模之三大模型與十大常用算法詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感想取得小伙伴可以參考一下2022-07-07淺談keras中自定義二分類任務(wù)評(píng)價(jià)指標(biāo)metrics的方法以及代碼
這篇文章主要介紹了淺談keras中自定義二分類任務(wù)評(píng)價(jià)指標(biāo)metrics的方法以及代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-06-06利用Python的folium包繪制城市道路圖的實(shí)現(xiàn)示例
這篇文章主要介紹了利用Python的folium包繪制城市道路圖的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08python機(jī)器學(xué)習(xí)GCN圖卷積神經(jīng)網(wǎng)絡(luò)原理解析
這篇文章主要為大家介紹了GCN圖卷積神經(jīng)網(wǎng)絡(luò)原理及代碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python輕松讀寫TOML文件實(shí)現(xiàn)示例
這篇文章主要介紹了Python輕松讀寫TOML文件實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01