python 內建方法都有哪些?透過分類整合成一套簡單的備忘教程

python 內建方法都有哪些?透過分類整合成一套簡單的備忘教程

一、入門函式

1。input()

功能:

接受標準輸入,返回字串型別

語法格式:

input([提示資訊])

例項:

# input 函式介紹text = input(“請輸入資訊:”)print(“收到的資料是:%s” % (text))#輸出:請輸入資訊: hello world收到的資料是: hello world

2。print()

功能:

輸出列印資訊

語法格式:

print(*objects, sep=‘ ’, end=‘\n’, file=sys。stdout, flush=False)# 引數說明:sep : 在值之間插入字串,預設為空格。end : 在最後一個值之後附加的字串,預設為換行符flush: 是否強制重新整理,這個引數一般和file一起使用 。file : 輸出到檔案

例項:

# print 函式介紹str1 = “hello”str2 = “python”# 1。列印第一個字串print(str1)# 2。同時列印兩個字串print(str1,str2)# 3。sep示例 : 如果列印多個字串的話,可以使用sep進行分割,不加sep預設為空格print(“加入字串分隔符”,str1,str2,sep=“::”)#輸出hellohello python加入字串分隔符::hello::python

3。help()

功能:

用來檢視函式或模組的詳細資訊

語法格式:

help(物件)# 引數說明:物件可以是一個具體的函式,也可以是一個數據型別

例項:

help(‘str’) #檢視str模組的的詳細資訊tp = (1,23,345)help(tp) #檢視元祖的詳細資訊

二、數學函式

1。sum()

功能:

對序列進行求和計算。

語法格式:

sum(seq,[number])# 引數說明:seq : 代表一個序列 ,可以是列表 ,字串 、集合等number : 相加的引數值

例項:

sum([2,3,4]) # 輸出 : 9sum([2,3,4],6) # 輸出 : 15

2。max()

功能:

返回序列中的最大值。

語法格式:

sum(a,b,c,。。。)# 引數說明:a,b,c 需要是同一資料型別

例項:

max(2,3,4,5) # 輸出 : 5max(‘hello’,‘world’) # 輸出:worldmax([2,3,4,5]) # 輸出 :5

3。min()

功能:

返回給定引數的最小值。

語法格式:

sum(a,b,c,。。。)# 引數說明:a,b,c 需要是同一資料型別

例項:

min(2,3,4,5) # 輸出 : 2min(‘hello’,‘world’) # 輸出:hellomin([2,3,4,5]) # 輸出 :2

4。divmod()

功能:

接受兩個數字,返回商和餘數的元祖(a//b , a%b)。

語法格式:

divmod(a,b)# 引數說明:a,b 是兩個數字

例項:

divmod(10,2) # 輸出 :(5, 0)divmod(9,2) # 輸出:(4, 1)

5。abs()

功能:

返回數字的絕對值。

語法格式:

abs(a)

例項:

abs(-2。3) # 輸出 : 2。3

6。pow()

功能:

返回 xy(x 的 y 次方) 的值。

語法格式:

pow(x,y)

例項:

pow(3,3) # 輸出 : 27

7。round()

功能:

返回浮點數x的四色五入的值

語法格式:

round( x ,[ n] )# 引數說明:x 是一個浮點數 n 是一個整數

例項:

round(3。326,2) # 輸出 : 3。33

三、資料型別函式

1。int()

功能:

將一個字串或數字轉換為整型

語法格式:

int(x)# 引數說明:x 是一個數字或者字串

例項:

int(4。5) #輸出: 4int(‘3’) #輸出: 3

2。str()

功能:

將其它資料型別轉化為字串

語法格式:

str(data) # 引數說明:data 為具體的資料型別

例項:

str(12) #輸出: ‘12’str([12,13]) #輸出: ‘[12, 13]’str({‘a’:1}) #輸出: “{‘a’: 1}”str(bool) #輸出: “

3。bool()

功能:

將給定引數轉換為布林型別,如果沒有引數,返回 False。

語法格式:

bool(x)# 引數說明:x 要轉化的引數

例項:

bool(1) #輸出: Truebool(‘hello’) #輸出: Truebool(1==1) #輸出: Truebool([12]) #輸出: True

4。float()

功能:

用於將整數和字串轉換成浮點數。

語法格式:

float(x)# 引數說明:x 要轉化的引數

例項:

float(32) #輸出: 32。0float(‘32’) #輸出 32。0float(32。00) #輸出: 32。0

5。tuple()

功能:

將序列轉化為元祖。

語法格式:

tuple(seq)# 引數說明:seq 要轉化的序列

例項:

tuple([‘a’,1,3]) #輸出: (‘a’, 1, 3)tuple(‘abcd’) #輸出: (‘a’, ‘b’, ‘c’, ‘d’)tuple({‘a’:1,‘b’:2}) #輸出: (‘a’, ‘b’)tuple({‘a’,‘b’,‘c’}) #輸出: (‘c’, ‘a’, ‘b’)

6。list()

功能:

將序列轉化為列表。

語法格式:

list(seq)# 引數說明:seq 要轉化的序列

例項:

list((1,2,3,5)) #輸出: [1, 2, 3, 5]list(“abcd”) #輸出: [‘a’, ‘b’, ‘c’, ‘d’]list({‘a’:1,‘b’:1}) #輸出: [‘a’, ‘b’]

7。dict()

功能:

用於建立字典。

語法格式:

dict(**kwarg)# 引數說明:kwarg 一組或多組鍵值對

例項:

dict() #輸出: {}dict(a=1,b=2) #輸出: {‘a’: 1, ‘b’: 2}dict(((‘a’,1),(‘b’,2))) #輸出: {‘a’: 1, ‘b’: 2}

8。set()

功能:

建立一個無序不重複的集合。

語法格式:

set(seq)# 引數說明:seq 要轉化的序列

例項:

set(‘hello’) #輸出: {‘e’, ‘h’, ‘l’, ‘o’}set([1,2,33,3,2]) #輸出: {1, 2, 3, 33}

四、序列迭代器函式

1。len()

功能:

返回序列的長度

語法格式:

len(seq)# 引數說明:seq 序列

例項:

len((1,2,3,4,5)) #輸出: 5len([1,2,3,4]) #輸出: 4len(“helloworld”) #輸出: 10len({‘a’:1,“b”:2}) #輸出: 2

2。slice()

功能:

函式返回一個切片(slice)物件。slice物件用於指定如何對序列進行切片

語法格式:

slice(start, end, step)# 引數說明:start 一個整數,指定在哪個位置開始切片。 預設為0end 一個整數,指定在哪個位置結束切片step 一個整數,指定切片的步驟。 預設為1

例項:

tp = (“c”, “c++”, “java”, “php”, “go”, “python”, “c#”)x = slice(2, 4)print(tp[x])#輸出 :(‘java’, ‘php’)

3。sorted()

功能:

函式對所有可迭代的物件進行排序操作。

語法格式:

sorted(iterable, cmp=None, key=None, reverse=False)# 引數說明:iterable —— 可迭代物件。cmp —— 比較的函式,這個具有兩個引數,引數的值都是從可迭代物件中取出,此函式必須遵守的規則為,大於則返回1,小於則返回-1,等於則返回0。key —— 主要是用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。reverse - - 排序規則,reverse = True 降序 , reverse = False 升序(預設)。

例項:

sorted([3,7,23,4,9]) #輸出: [3, 4, 7, 9, 23]city = [(‘chongqin’,3011),(‘beijing’,2300),(‘shanghai’,2600)]sorted(city,key=lambda x:x[1])#輸出: [(‘beijing’, 2300), (‘shanghai’, 2600), (‘chongqin’, 3011)]sorted(city,key=lambda x:x[1],reverse=True)#輸出: [(‘chongqin’, 3011), (‘shanghai’, 2600), (‘beijing’, 2300)]

4。reverse()

功能:

用於反轉列表中的元素。。

語法格式:

list。reverse()

例項:

lst = [3,45,6]lst。reverse()lst #輸出: [6, 45, 3]

5。filter()

功能:

用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。

語法格式:

filter(function, iterable)# 引數說明:function 判斷函式。iterable 可迭代物件。

例項:

def qos(n): return n % 2 == 0it = filter(qos,[1,23,77,4,5,67,8,9])print(it) #輸出 :for x in it: print(x,) #輸出48#例項2:it1 = filter(lambda x:x%2==0,[1,23,77,4,5,67,8,9])for x in it1: print(x) #輸出:48

6。all()

功能:

用於判斷給定的可迭代引數 iterable 中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。

其中 : 0、空、None、False 這幾個值返回False外 ,其它的值都返回Ture

語法格式:

all(iterable)# 引數說明:iterable 元組或列表。

例項:

all((1,0,-1)) #輸出: False ,因為這裡面有個0 ,0返回Falseall((‘a’,‘’)) #輸出: False ,因為這裡有個空 ,空返回Falseall((True,False)) #輸出: False ,因為這裡面有個False all((12,None)) #輸出: False ,因為這裡面有個None

7。any()

功能:

用於判斷給定的可迭代引數 iterable 是否全部為 False,則返回 False,如果有一個為 True,則返回 True。

這個函式跟all()正好相反

語法格式:

any(iterable)# 引數說明:iterable 元組或列表。

例項:

any([1,0,-1]) #輸出: Trueany([‘a’,‘’]) #輸出: Trueany([True,False]) #輸出: True

8。iter()

功能:

用來生成迭代器。

語法格式:

iter(object)# 引數說明:object 一個迭代物件

例項:

it = iter([“java”,“python”,“go”])print(it) #輸出 :for x in it: print(x)#輸出 :javapythongo

9。next()

功能:

返回迭代器的下一個元素

語法格式:

next(iterable,[default])# 引數說明:iterable 一個可迭代物件default 如果迭代器已結束,則返回預設值。

例項:

lst = iter([“java”,“python”,“go”])next(lst) #輸出: ‘java’next(lst) #輸出: ‘python’next(lst) #輸出: ‘go’next(lst,“c++”) #輸出: ‘c++’

10。range()

功能:

返回一個數字序列,預設情況下從0開始,然後遞增,並以指定的數字結束。

語法格式:

range([start], end, [step])# 引數說明:start 一個整數,指定從哪個位置開始。 預設為0end 一個整數,指定在哪個位置結束。step 一個整數,指定增量。 預設為1

例項:

# 設定end=6 ,其它都走預設for x in range(3): print(x,end=“ ”)print()print(“=”*30)# 設定start=1,end=6for y in range(1,6): print(y,end=“ ”)print()print(“=”*30)#設定start=2,end=10,step=3for z in range(2,10,3): print(z,end=“ ”) #輸出 :0 1 2 ==============================1 2 3 4 5 ==============================2 5 8

11。enumerate()

功能:

用於將一個可遍歷的序列(如列表、元組或字串)組合為一個索引序列,同時列出資料和對應的索引

語法格式:

enumerate(iterable)# 引數說明:iterable 可迭代物件

例項:

lst = [‘java’, ‘go’, ‘php’]for index,value in enumerate(lst): print(index,“==”,value) #輸出 0 == java1 == go2 == php

12。zip()

功能:

用於將可迭代的物件作為引數,將物件中對應的元素打包成一個個元組,然後返回由這些元組組成的列表

語法格式:

zip([iterable})# 引數說明:iterable 迭代器

例項:

a = [1,2,3]b = [4,5,6]tuple(zp) #輸出: ((1, 4), (2, 5), (3, 6))

13。map()

功能:

為迭代器中的每個專案指定執行的函式。該專案將作為引數傳送到函式。

語法格式:

map(function, iterables)# 引數說明:function 函式iterable 序列,集合或迭代器物件。

例項:

def sq(x): return x ** 2 map(sq,[1,2,3,4,5]) #輸出: mp = map(sq,[1,2,3,4,5])list(mp) #輸出: [1, 4, 9, 16, 25]

五、物件函式

1。id()

功能:

返回物件的唯一識別符號,識別符號是一個整數。

語法格式:

id([object])# 引數說明:object 物件

例項:

id(‘hello world’) #輸出 : 85404512id(10) #輸出: 1705170112id(‘’) #輸出: 12245088

2。type()

功能:

返回指定物件的型別

語法格式:

type(object)# 引數說明:object 物件

例項:

type([1,2,3,4]) #輸出: listtype((1,2,3)) #輸出: tupletype(“abc”) #輸出: strtype({‘a’:1,‘b’:1}) #輸出: dict

3。isinstance()

功能:

為迭代器中的每個專案指定執行的函式。該專案將作為引數傳送到函式。

語法格式:

isinstance(object, type)# 引數說明:object 物件type 型別

例項:

isinstance(‘abc’, str) #輸出: Trueisinstance([1,2], list) #輸出: Trueisinstance((1,2), tuple) #輸出: Trueisinstance({‘a’:1,‘b’:2}, dict) #輸出: True

4。issubclass()

功能:

物件是指定物件的子類,則該函式返回 True,否則返回False。

語法格式:

issubclass(object, subclass)# 引數說明:object 物件subclass 物件的父類

例項:

class Person(): passclass Student(Person): name = “zhangsan” age = 21res = issubclass(Student,Person) #判斷Student是Person的子類print(res)#輸出 : True

5。staticmethod()

功能:

返回函式的靜態方法。

語法格式:

staticmethod()

例項:

class Person(): passclass Student(Person): name = “zhangsan” age = 21 @staticmethod def study(content): print(“學生學習的內容是:{}”。format(content))Student。study(‘python’)

6。super()

功能:

用於呼叫父類的一個方法。

語法格式:

super()

例項:

class Person(): def study(self): print(“人人都需要學習”)class Student(Person): name = “zhangsan” age = 21 def study(self,content): super()。study() #呼叫父類的study方法 print(“學生學習的內容是:{}”。format(content))s = Student()s。study(‘python’)

六、物件操作函式

1。format()

功能:

字串的格式化

語法格式:

“{}”。format(“字串”)

例項:

“hello {}”。format(“python”) #輸出: ‘hello python’“{} {}”。format(“hello”,“python”) #輸出: ‘hello python’“{1} {0}”。format(“python”,“hello”) #輸出: ‘hello python’“{} {lg}”。format(‘hello’,lg=“python”) #輸出: ‘hello python’

2。repr()

功能:

轉化為供直譯器讀取的形式。

語法格式:

repr(object)# 引數介紹object 物件

例項:

>>>repr([0,1,2,3])‘[0,1,2,3]’>>> repr(‘Hello’)“‘Hello’”>>> str(1。0/7。0)‘0。142857142857’>>> repr(1。0/7。0)‘0。14285714285714285’

3。eval()

功能:

用來執行一個字串表示式,並返回表示式的值。

語法格式:

eval(expression)#引數expression —— 表示式。

例項:

eval(“3 * 2”) #輸出: 6eval(“sum([2,3])”) #輸出: 5eval(“isinstance([1,2,3],list)”) #輸出: True

4。exec()

功能:

執行指定的Python程式碼。

exec()

函式接受較大的程式碼塊,與 eval僅接受單個表示式的函式不同

語法格式:

exec(expression)#引數expression —— 表示式。

例項:

score = 63def get_result(sc): if sc > 60: print(“及格”) else: print(“不及格”)exec(‘get_result(score)’) #注意 : 這裡傳遞的是一個字串,而字串其實就是上面的函式

5。open()

功能:

將開啟一個檔案,並將其作為檔案物件返回。

語法格式:

open(file, mode)# 引數說明file 檔案的路徑和名稱mode 開啟模式,具體開啟包括如下幾種: “r” - 讀取-預設值。 開啟檔案進行讀取,如果檔案不存在,則報錯 “a” - 附加-開啟檔案進行附加,如果檔案不存在,則建立該檔案 “w” - 寫入-開啟要寫入的檔案,如果檔案不存在,則建立該檔案 “x” - 建立-建立指定的檔案,如果檔案存在則返回錯誤 “t” - 文字-預設值。 文字模式 “b” - 二進位制-二進位制模式(例如影象)

例項:

f = open(‘a。txt’) #開啟a。txtres = f。read() #讀取a。txt的內容print(res)# 輸出:輸出的是a。txt中的內容hello world

七、物件屬性函式

1。setattr()

功能:

用於設定屬性值,該屬性不一定是存在的

語法格式:

setattr(object, name, value)#引數說明:object 物件。name 字串,物件屬性。value 屬性值。

例項:

class Student(): name = “zhangsan”s = Student()setattr(s,‘age’,21) #設定屬性ageprint(s。age) #輸出:21

2。getattr()

功能:

返回一個物件屬性值。

語法格式:

getattr(object, name,[default])#引數說明:object 物件。name 字串,物件屬性。default 預設返回值,如果不提供該引數,在沒有對應屬性時,將觸發 AttributeError。

例項:

class Student(): name = “zhangsan”s = Student()name = getattr(s,‘name’)print(name)age1 = getattr(s,‘age’,21)print(age1)age = getattr(s,‘age’) # 如果獲取的屬性不存在,又沒有預設值,則會報錯 。print(age)#輸出:zhangsan21Traceback (most recent call last): File “E:/project/python_lx/ts_nz/ts_en。py”, line 25, in age = getattr(s,‘age’)AttributeError: ‘Student’ object has no attribute ‘age’

3。hasattr()

功能:

用於判斷物件是否包含對應的屬性。

語法格式:

hasattr(object, name)#引數說明:object 物件。name 字串,屬性名。

例項:

class Student(): name = “zhangsan”s = Student()# 判斷是否存在name屬性print(hasattr(s,‘name’)) #輸出 :True#判斷是否存在age屬性print(hasattr(s,‘age’)) #輸出:False#判斷是否存在sex屬性print(hasattr(s,‘sex’)) #輸出:False

4。delattr()

功能:

用於刪除屬性。

語法格式:

delattr(object, name)#引數說明:object 物件。name 必須是物件的屬性。

例項:

class Student(): name = “zhangsan”s = Student()# 判斷是否存在name屬性print(hasattr(s,‘name’)) #輸出 :True# 刪除屬性namedelattr(Student,‘name’)# 再次判斷是否存在name屬性 # 輸出 :False ,這是因為name屬性已經被刪除了print(hasattr(s,‘name’))

5。property()

功能:

將類方法轉換為類屬性,可以用 物件 。 直接獲取屬性值或者對屬性進行賦值

語法格式:

@propertydef func(): pass

例項:

class Student(): def get_age(self): return self。_age def set_age(self,value): if not isinstance(value,int): raise ValueError(‘age must be an integer!’) if value < 0 or value > 120: raise ValueError(‘age must between 0 ~ 120!’) self。_age = values = Student()s。set_age(23) # 我們這裡呼叫的是透過物件。方法的方式進行呼叫 print(s。get_age())s。set_age(180)

問題 : 如果說想要呼叫的方法像呼叫屬性一樣 ,也能完成同樣的功能 ,是否也可以實現呢 ?答案就是使用property

接下來我們透過property來設定 ,看看該如何設定呢 ?

class Student(): @property def age(self): return self。_age @age。setter def age(self,value): if not isinstance(value,int): raise ValueError(‘age must be an integer!’) if value < 0 or value > 120: raise ValueError(‘age must between 0 ~ 120!’) self。_age = values = Student()s。age = 23 #這裡的age呼叫明顯就是一個屬性方式的呼叫 ,但是也有函式上的功能 print(s。age) #輸出 :23s。age = 180 #同樣會檢查該屬性是否符合業務#輸出:23Traceback (most recent call last): File “E:/project/python_lx/ts_nz/ts_en。py”, line 30, in s。age = 180 File “E:/project/python_lx/ts_nz/ts_en。py”, line 23, in age raise ValueError(‘age must between 0 ~ 120!’)ValueError: age must between 0 ~ 120!

6。vars()

功能:

返回物件object的屬性和屬性值的字典物件。

語法格式:

vars([object])#引數說明object 物件

例項:

class Student(): name = “zhangsan” age = 23 sex = ‘男’ def get_age(self): return self。ageprint(vars(Student))#輸出:以字典形式輸出{‘__module__’: ‘__main__’, ‘name’: ‘zhangsan’, ‘age’: 23, ‘sex’: ‘男’, ‘get_age’: , ‘__dict__’: , ‘__weakref__’: , ‘__doc__’: None}