一篇文章弄懂Python中的內建函數

前言

python內建函數指的是python自帶的函數,這種函數不需要定義,並且不同的內建函數具有不同的功能,可以直接使用。

A類

abs() 函數,返回數字的絕對值。

語法:abs(x)

參數 x — 數值表達式

函數返回 x(數字)的絕對值;

例子1:

2021-7-24

all() 函數,判斷給定的可迭代參數 ble 中的元素是否都為 True,若是返回 True,反之返回 False;

元素除瞭是 0、空、False、None外 都算 True;

語法:all(iterable)

參數: iterable — 元組或列表

若 iterable 的所有元素不為 0、‘ ‘、False、或 ble 為空,函數返回 True,反之返回 False;

註意: 空元組、空列表返回值為 True,需要特別註意;

例子2:

2021-7-24

any() 函數,判斷給定的可迭代參數 ble 是否全部為 False,若是返回 False,若有一個為 True,返回 True;
元素除瞭是 0、空、False 外都算是 True;

語法:any(iterable)

參數:iterable — 元組或列表

若都為 空、0、False ,返回 False,若不都為 空、0、False,返回 True ;

例子3:

2021-7-24

B類

basestring() 方法,是 str 和 unicode 的超類(父類),也是抽象類,不能被調用和實例化,但可用來判斷一個對象是否為 str 或 unicode 的實例;isinstance(obj,(str,unicode)) 等價於 isinstance(obj,bsestring)

語法:basestring()

例子4:

2021-7-24

註意:Python 3 不支持 basestring()函數,應改用 str()函數。

bin() 函數,返回一個整數 int 或長整數 long int 的二進制表示。

語法:bin(x)

參數:x — int 或 long int 數字

返回 x 的二進制表示;

例子5:

2021-7-24

bool() 函數,將給定參數轉換為佈爾類型,若沒有參數,返回 false;

bool 是 int 的子類;

語法:calss bool([x])

參數:x — 要進行轉換的參數

返回 True 或 False;

例子6:

2021-7-24

bytearray() 函數,返回一個新字節數組;數組的元素是可變的,每個元素的值范圍 0 <= x <256 ;

語法:calss bytearray([source[,encoding[,errors]]])

參數:若 source 為整數,返回一個長度為 source 的初始化數組

若 source 為字符串,按照指定的 encoding 將字符串轉換為字節序列;

若 source 為可迭代類型,元素必須為 [0,256] 中的整數;

若 source為與 buffer 接口一致的對象,此對象也可被用於初始化 bytearray ;

若沒有輸入任何參數,默認就是初始化數組為 0 個元素;

返回新字節數組。

例子7:

201-7-24

C類

callable() 函數,檢查一個對象是否為可調用;若返回 True ,ble 仍可能調用失敗;若返回 False ,調用對象 ble 肯定不會成功。

函數、方法、lambda 函式、類及實現瞭 call 方法的類實例,都會返回 True

語法:callable(object)

參數: object — 對象

當對象可調用時返回 True,反之返回 False;

例子8:

2021-7-24

chr() 函數,用一個范圍在 range(0~256)內的整數作為參數,返回一個對應的字符;

語法:chr(i)

參數:i — 為10進制或16進制的形式的數字

返回值是當前整數對應的 ASCII 字符

例子9:

2021-7-25

classmethod 修飾符,對應的函數不用實例化,不需要 self 參數,但第一個參數需要是表示自身類的 cls 參數,可用來調用類的屬性,類的方法,實例化對象等;

語法:classmethod

返回函數的類方法;

例子10:

2021-7-25

compile() 函數,講一個字符串編譯為字節代碼。

語法:compile(source,filename,mode[,flags[,dont_inherit]])

參數:source — 字符串或 AST(Abstract Syntx Trees)對象;

filename — 代碼文件名稱,若不是從文件讀取代碼則傳遞一些可辨認的值;

mode — 指定編譯代碼的種類。可指定為 exec,eval,single;

flags — 變量作用域,局部命名空間,若被提供,可以是任何映射對象;

flags 和 dont_inherit 是用來控制編譯源碼時的標志;

返回表達式執行結果;

例子12:

2021-7-25

cmplex() 函數,創建一個值為 real + imag * j 的復數或轉化一個字符換或數為復數。若第一個參數為字符串,則不需要指定第二個參數;

語法:class complex([real[,imag]])

參數:real — int、long、float 或 字符串;

imag — int、long、float;

返回一個復數;

例子13:

2021-7-25

註意: ‘3+8j’ 的 ‘+’ 號兩邊不能有 空格,否則會報錯

D類

delattr() 函數,刪除屬性;

delattr( x,‘foobar’ ) 等價於 del x. foobar ;

語法:delattr(object.name)

參數:object — 對象;

name — 必須是對象的屬性;

例子14:

2021-7-25

dict() 函數,創建一個字典。

語法:class dick(**kwargs) class dict(mpping,**kwarg) class dict(iterable,**kwarg)

參數:**kwarge — 關鍵字;

mapping — 元素的容器;

iterable — 可迭代對象;

返回一個字典;

例子15:

2021-7-25

**dir()**函數,不帶參數時,返回當前范圍內的變量、方法 和 定義的類型列表;帶參數時,返回參數的 屬性、方法、列表。若參數包含方法 __dir()__ ,該方法將被調用;若參數不含方法 dir() ,該方法將最大限度地收集參數信息;

語法:dir([object])

參數:object — 對象、變量、類型

返回模塊的屬性列表;

例子16:

2021-7-25

divmond() 函數,把除法和餘數運算結合起來,返回一個包含商和餘數的元組(a // b, a%b);

語法:divmod(a,b)

參數:a — 數字 ,b — 數字;

例子17:

2021-7-25

我的進行復數運算,報錯,可能是有些Python 版本不支持負數運算!

E類

enumerate() 函數,將一個可遍歷的數據對象(如 元組、列表或字符串)組合成一個索引序列,同時列出數據和數據下標,常用在 for 循環中;

語法:enumerate(sequence,[start = 0])

參數: sequence — 一個序列、迭代器 或其他可支持迭代的對象;

start — 下標起始位置;

返回 enumerate(枚舉)對象;

例子18:

2021-7-25

eval() 函數,執行一個字符串表達式,並返回表達式的值;

語法:eval(expression[, globals[, locals]])

參數:expression — 表達式;

globals — 變量作用域,全局命名空間,若被提供,則必須是一個字典對象;

locals — 變量作用域,局部命名空間,若被提供,可為任何映射對象;

返回表達式計算的結果;

例子19:

2021-7-28

excfile() 函數,執行一個文件。

語法:excfile(filename[, globals[, locals]])

參數:filename — 文件名;

globals — 變量作用域,全局命名空間,若被提供,不需是一個字典對象;

locals —變量作用域,局部命名空間,若被提供,可是任何映射對象。

返回表達式執行結束;

例子20:

2021-7-30

2021-7-20

execfile() 函數在 Python3 中用不瞭,可用 exec () 函數替代;

語法:exec(open("ble").read);

註意:運用 exec() 函數時,必須確保文件時在 Python 解釋器當前的目錄下,若不在,就算代碼沒錯也會報異常;所以要先import os,調用 os 模塊,再os.chdir("文件所在目錄"),再用 exec() 函數打開文件;

F類

file() 函數,創建一個 file 對象,也可以叫 open(),都是內置函數;參數以字符串形式傳遞;

語法:file(name,[, mode[, buffering]])

參數:name — 文件名;

mode — 打開模式;

buffering — 0 表示不緩沖,如果為 1 表示進行行緩沖,大於 1 為緩沖區大小

例子21:

2021-7-31

filter() 函數,過濾序列,過濾不符合條件的元素,返回由符合條件元素組成的列表;接受兩個參數,第一個為函數,第二個為序列,序列的每個元素作為參數傳遞給函數進行判斷,然後返回 True 或 False,最後將返回 True 的元素存放到新列表中;

Python 3.x 返回迭代器對象;

語法:filter(functin , iterable)

參數:function — 判斷函數;

iterable — 可迭代對象;

返回列表;

例子22:

2021-7-31

format() 函數,接受不限個參數位置隨意str.format(),格式化字符串,函數增強瞭字符串格式化的功能;
語法:用 {} 、: 代替 %;

例子23:

2021-7-31

2021-7-31

str.format() 格式化數字的方法如下所示:

2021-7-31

frozenset() 函數,返回一個凍結的集合,凍結點後的集合不能再添加、刪除任何元素

語法:class frozenset([bba])

返回新的 ble 對象,若不提供任何參數,默認生成空集合;

例子24:

2021-7-31

G類

getattr() 函數,返回一個對象屬性值;

語法:getattr(object,name [, default])

參數:object — 對象;

name — 字符串,對象屬性;

default — 默認返回值,若不提供該參數,沒有隊形屬性時,會出發 AttributeError;

返回對象屬性;

例子25:

2021-7-31

globals() 函數,以字典類型返回當前位置的全局變量;

語法:flobals()

返回全局變量的字典;

例子26:

2021-7-31

H類

hasattr() 函數,判斷對象是否包含對應的屬性;

語法:hasattr(object,name)

參數:object — 對象;

name — 字符串,屬性名;

若對象有該屬性會返回 True,反之返回 False;

例子27:

2021-7-31

hash() 函數,獲取一個對象(字符串或數值等)的哈希值

語法:hash(object)

參數:object — 對象;

返回對象的哈希值;

例子28:

2021-7-31

help() 函數,查看函數或塊等的幫助說明

語法:help([object])

參數:object — 對象

例子29:

2021-7-31

hex() 函數,將十進制整數轉換為十六進制,以字符串形式表示

語法:hex(x)

參數:x — 十進制整數

例子30:

2021-7-31

I類

id() 函數,返回對象的唯一標識符,標識符是一個整數

CPython(即官方版本解釋器,這解釋器是用C語言開發的)中 id() 函數用於獲取對象的內存地址;

語法:id([object])

參數:object — 對象

返回對象的內存地址;

例子31:

2021-7-31

input() 函數,接收一個標準輸入數據,返回 string 類型;

input(),能夠讀取一個合法的 Python 表達式(即輸入的字符串必須括起來,否者會拋出異常);Python 3 裡的 input() 默認接受的是 str 類型;

語法:input([prompt])

參數:prompt — 提示信息

註意:在 Python 3.8.0 中已經取消瞭 raw_iput;

例子32:

2021-7-81

int() 函數,將一個數字或字符串轉換為整型, 返回整型數據;

語法:class int(z,base = 10)

參數:z — 數字或字符串;

base — 進制數,默認十進制;

例子33:

2021-8-1

isinstance() 函數,判斷一個對象是否是一個已知的類型,和 tpye() 類似;

isinstance() 與 tpye() 的區別

tyep() 不會認為子類是一種父類類型,不考慮繼承關系;

ininstance()會認為子類是一種父類類型,考慮繼承關系;

語法:isinstance(object,classinfo)

參數:object — 實例對象;

classinfo — 可是直接或間接類名、基本類型或由他們組成的元組;

若對象的類型與參數的類型(classionfo)相同則返回 True,反之返回 False;

例子34:

2021-8-1

issubclass() 函數,判斷參數 class 師傅是類型參數 classinfo 的子類;

語法:issubclass(class,classinfo)

參數:class — 類;

classinfo — 類;

若 class 是 classinfo 的子類返回 True,否則返回 False;

例子35:

2021-8-1

iter() 函數,生成迭代器;

語法:iter(object[,sentinel])

參數:object — 支持迭代的集合對象;

sentine — 若出傳遞第二個參數,參數 object 必須是一個可調用的對象(如:函數);iter() 創建瞭一個迭代器對象,每次調用這個對象的 __next__ 方法時,都會 object;

例子36:

2021-8-1

L類

len() 函數,返回對象(字符、列表、元組等)長度或項目的元素個數;

語法:len(n)

參數:n — 對象

例子37:

2021-8-1

list() 函數,將元組轉換為列表(元組跟列表非常類似,區別於元素的元組不能修改,元組是放在括號中,列表是放於方括號中);

語法:list(tuple)

參數:tuple — 要轉換為列表的元組

例子38:

2021-8-1

locals() 函數,以字典類型返回當前位置的全部局部變量;對於函數、方法、lambda 函數、類,以及實現瞭__call__方法的類實例,都返回 True;

語法:locals()

返回字典類型的局部變量;

例子39:

2021-8-1

M類

map() 函數,根據提供的函數指定序列做映射;

第一個參數 function 以參數序列中的每一個元素調用 funciton 函數,返回包含每次 function 函數返回值的新列表;

語法:map(function,iterable, ...)

參數:function — 函數;

iterable — 一個或多個序列;

返回迭代器;

例子41:

2021-8-2

max() 函數,返回給定參數的最大值,參數可以是序列;

語法:max(x,y,z, ... )

參數:x、y、z — 數值表達式

例子42:

2021-8-2

memoryview() 函數,返回給定參數的內存查看對象(memory view);內存查看對象,是指對支持緩沖區協議的數據進行包裝,在不需要復制對象的基礎上允許 Python 代碼訪問;

語法:memoryview(obj)

參數:obj — 對象;

返回元組列表;

例子43:

2021-8-2

min() 函數,返回給定參數的最小值,參數可以是序列;

語法:min(x,y,z,... )

參數:x、y、z — 數值表達式

例子44:

2021-8-2

N類 next() 函數,返回迭代器下一個項目;搭配生成迭代器的 iter() 函數使用;

語法:next(iterable[, default])

參數:iterable — 可迭代對象;

default — 可選,用來設置在沒有下一個元素時返回該默認值,若不設置,又沒有下一個元素則會觸發 Stoplter ation 異常;

例子45:

2021-8-2 O類

oct() 函數,將一個整數轉換為 八進制字符串;

Python 3.x 的八進制以 0 作為前綴表示;

語法: oct(x)

參數: x — 整數

返回 八進制字符串

例子46:

2021-8-2

open() 函數,打開一個文件,創建一個 file 對象,相關的方法才可調用它進行讀寫;

語法:open(name[, mode[, buffering]])

參數:name — 一個包含瞭你要訪問的文件名稱的字符串值;

mode — 決定瞭打開文件的模式:隻讀、寫入、追加等;這個參數是非強制性的,默認文件訪問模式為隻讀(r);所有可取值如下表所示;

buffering — 若 buffering 的值被設為 0 ,就不會有寄存;若 buffering 的值為 1,訪問文件時會寄存行;若將 buffering的值設為大於 1 的整數,表明這就是寄存區的緩沖大小;若取賦值,寄存區的緩沖大小則為系統默認

Python 的不同模式的完全列表

2021-8-2

file 對象方法

file.read([sizet]):size 未指定則返回整個文件,若文件大小 > 2 倍內存則有問題,f.read() 讀到文件尾時返回 “ ”(空字符串);

file.readline():返回一行;

file.readlines([size]):返回包含 size 行的列表,size 未指定則會返回全部行;

for line in f : print line :通過迭代器訪問;

f.write(“hello\n”):若要寫入字符以外的數據,先將它轉換為字符串;

f.tell():返回一個整數,表示當前文件指針的位置(就是到文件頭的字節數);

f.seek(偏移量,[起始位置]):用於移動文件指針,

偏移量 — 單位為字符,正負都可;

起始位置 — 0,文件頭,默認值;1,當前位置;2,文件尾

f.close() :關閉文件

例子47:

2021-8-2

ord() 函數,和 chr() 函數(對於 8 位的 ASCII 字符串)或 unichr() 函數(對於 Unicode 對象)的配對函數,以一個字符(長度為1的字符串)作為參數,返回對應的 ASCII 數值,或 UNicode 數值,若所給的 Unicode 字符超出瞭 Python 定義范圍,會拋出 TypeError 異常

語法:ord(x)

參數:x — 字符

返回對應的十進制整數;

例子48:

2021-8-2

P類 pow() 函數,返回 冪運算的值(即x的y次方);

語法:1、 math模塊 pow() 方法

import math
 math.pow(x,y)

2、內置的 pow() 方法

 pow(x,y[,z])

若 z 存在,則再對結果進行取模,即 pow(x,y) %z

註意pow() 方法通過內置的方法直接調用,內置方法會把參數作為整型,而 math 模塊則會吧參數轉換為 float;
參數:x、y、z — 數值表達式;

例子49:

2021-8-2

print() 函數,打印輸出,常用到的一個函數;

語法:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

參數:object — 復數,表示可一次性輸出多個對象,輸出多個對象時,需用到 , 逗號分隔;

sep — 間隔多個對象,默認值是一個空格;

end — 用來設定什麼結尾,默認值是換行符 \n,可換成其他字符;

file — 要寫入的文件對象;

flush — 輸出是否被緩存通常決定於 file,但如果 flush 關鍵字參數為 True,會被強制刷新;

例子50:

2021-8-2

property() 函數,在新式類中返回屬性值

語法:class property([ fget [ , fset [ , fdel [ , doc]]]])

參數:fget — 獲取屬性值的函數;

fset — 設置屬性值的的函數;

fdel — 刪除屬性值函數;

doc — 屬性描述信息;

例子51:

2021-8-3

R類

range() 函數,返回一個可迭代對象(即類型),而不是列表類型,所以打印的時候不會打印列表;

語法:range(start,stip [, step])

參數:start — 技術從start 開始,默認從 0 開始;

stip — 技術到 stop 結束,但不包括 stop(即半開區間);

step — 步長,默認為 1(與分片的步長相同);

例子52:

2021-8-3

reduce() 函數,對參數序列中元素進行累積;

函數將一個數據集合(鏈表、元組等)中的所有數據進行:用傳給 reduce 中的函數 **function (有兩個參數)**先對集合中的第 1、 2 個元素進行操作,得到的結果再與第 3 個數據用 function 函數運算,最後得到一個結果;

註意:Python 3.x 的 reduce() 被移動到 functiools 模塊裡,若需要使用,可引入 functils 模塊來調用 reduce() 函數;from functools import reduce

語法:reduce(function,iterable[, initializer)

參數:function — 函數,有兩個參數;

iterable — 可迭代對象;

initializer — 可選,初始參數

返回函數計算結果;

例子53:

2021-8-3

reload() 函數,重新載入之前載入的模塊;

語法:reload(module)

參數:module — 模塊對象

返回模塊對象;

例子54:

2021-8-3

repr() 函數,將對象轉化為供解釋器讀取的形式;

語法:repr(object)

參數:object — 對象

返回一個對象的 string 格式

例子55:

2021-8-3

reverse() 函數,作用於反向列表中元素;

語法:list.reverse()

沒有返回值,但會對列表中的元素進行反向排序

例子56:

2021-8-3

round() 函數,返回浮點數 x 的四舍五入的值

語法:round(x [, n])

參數: x — 數值表達式

n — 數值表達式,表示小數點位數;

例子57:

2021-8-3

S類

set() 函數,創建一個無序不重要的元素集,可以進行關系測試,用來刪除重復數據、計算交集、差集、並集等;

語法:class set([iterable])

參數:iterable — 可迭代對象

返回新的集合對象;

例子58:

2021-8-3

setattr() 函數,和 getattr() 為對應函數,用來設置屬性值,該屬性不一定是存在的;

語法:setattr(object, name, value)

參數:object — 對象;

name — 字符串,對象屬性;

value — 屬性值;

例子59:

2021-8-3

slice() 函數,對對象進行切片,主要是切片操作函數裡的參數傳遞;

語法:

class slice(stop)
 class slice(start,stip [, step])

參數:start — 其實位置;

stop — 結束位置;

step — 簡距;

返回一個切片對象;

例子60:

2021-8-3

sorted() 函數,對所有可迭代的對象進行排序;

註意sort 與 sorted 區別

sort 是應用在 list (列表)上的方法,sorted 可對所有的迭代的對象進行排序;

list 裡的 sort 方法返回的是對已經存在的列表進行操作無返回值 ;而 sorted 方法返回的是一個新的 list ,不是在原來的基礎上進行操作;

語法:sorted(iterable,cmp = Nome,key = Nome,reverse = False)

參數: iterable — 可迭代對象;

cmp — 比較函數,具有兩個參數,參數的值都是從可迭代對象中取,此函數須遵守:大於則返回 1 ,小於則返回 -1,等於則返回 0;

key — 用來比較的元素,隻有一個參數,具體函數的參數取自可迭代對象中,指定可迭代對象中的要給元素來進行排序;

reverse — 排序規則,reverse = True 降序,reverse = False 升序(默認);

返回重新排序的列表;

例子61:

2021-8-3

staticmethod() 函數,返回函數的靜態方法;

語法:staticmethod(fumction)

例子62:

2021-8-3

str() 函數,將對象轉化為適合人閱讀的形式;

語法:class str(object = ' ')

參數:object — 對象

返回一個對象的 string 格式;

例子63:

2021-8-3

sum() 函數,對序列進行求和計算; 返回計算結果

語法:sum(iterable[,strart])

參數:iterable — 可迭代對象(列表、元組、集合);

start — 指定相加的參數,若沒有設置,默認為0;

例子64:

2021-8-3

super() 函數,調用父類(超類)和解決多重繼承問題的,直接用類名調用父類方法在使用單繼承時沒有問題,若使用多繼承,會涉及查找順序(MPO)、重復調用等問題;

語法:super(type[,object-or-type)

參數:type — 類;

object-or-type — 類,一般是 self

例子65:

2021-8-3

T類

tuple() 函數,將列表轉換為元組;加粗樣式

語法:tuple(iterable)

參數:iterable — 要轉換為元組的可迭代序列

例子66:

2021-8-3

type() 函數,若隻有第一個參數則返回對象的類型,三個參數返回新的類型對象

註意isinstance() 與 type() 區別

type() 不會認為子類是一種父類類型,不考慮繼承關;

isinstance() 會認為子類是一種父類類型,考慮繼承關系;

如果要判斷兩個類型是否相同推薦使用 isinstance();

語法:

type(object)
type(name, bases, dict)

參數:name – 類的名稱;

bases – 基類的元組;

dict – 字典,類內定義的命名空間變量;

例子67:

2021-7-8-3

V類 vars() 函數,返回對象 object 的屬性和屬性值的字典對象;

語法:vars([object])

參數:object — 對象

返回對象 object 的屬性和屬性值的字典對象,若沒有參數,就打印當前調用位置的屬性和屬性值,類似 locals();

例子68:

2021-8-3 Z類

zip() 函數,將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的列表;

若各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表;

語法:zip([iterable,...])

參數:iterabl — 一個或多個迭代器

返回一個對象

例子69:

2021-8-3
2021-8-3

__import__() 函數,用於動態加載類和函數,若一個模塊經常變化就可用 __import__() 來動態載入;

語法:__import__(name[,globals[,locals[,fromlist[,level]]]])

參數:name — 模塊名

返回元組列表

例子70:

2021-8-3

總結

到此這篇關於Python中內建函數的文章就介紹到這瞭,更多相關Python內建函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: