一、入門函式
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) #輸出 :
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) #輸出 :
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]) #輸出:
五、物件函式
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
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
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’: