概述:
在乙個完整專案中,某些功能會反覆的使用。那麼會將功能封裝成函式,當我們要使用功能時,直接呼叫函式即可
本質:函式就是對功能的封裝
格式:def 函式名(引數列表):
語句return 表示式
#def: 函式**塊以def關鍵字開始
#函式名:遵循識別符號規則
#引數列表:(引數1,引數2...引數n)任何傳入函式的引數和變數必須放在圓括號之間,用逗號隔開。函式的呼叫者那裡獲取的資訊
#():是引數列表的開始和結束
#::函式的內容(封裝的功能)是以冒號開始的,並且縮排
#語句:函式封裝的功能
#return:一般用於結束函式,並返回資訊給函式的呼叫者
#表示式:即為要返回給函式的呼叫者的資訊
注意:最後的return 表示式可以不寫,相當於return none
注意:執行完return語句,該函式就結束了,return後面的**不再執行
函式的呼叫:
格式:函式名(引數列表)
#函式名:是要使用的功能的韓束韓束名字
#引數列表:函式的呼叫者給函式傳遞的資訊,若沒有引數,括號也不能省略
本質:實參給形參賦值的過程
函式的引數
實參(實際引數):呼叫函式時給函式傳遞的資料,本質是值
形參(形式引數):定義函式時小括號中的變數,本質是變數
eg: def mysum(a,b):
return a+b
print(「sunck」)#執行完return語句,該函式就結束了,return後面的**不再執行
res = mysum(1,2)
print(res) 返回3
引數的傳遞:
值傳遞:傳遞的是不可變型別(string、tuple、number)
eg: def func1(num):
num = 10
temp = 20
func1(temp)
print(temp) 返回20(temp的值不變)
引用傳遞:傳遞的是可變型別(list、dict、set)
eg: def func2(lis):
lis[0] = 100
li = [1,2,3,4,5]
func2(li)
print(li) 返回[100,2,3,4,5]
關鍵字引數:
概念:允許函式呼叫時引數的順序
與定義時不一致
eg: def myprint(str,age,weight):
print(str,age,weight)
myprint(age = 18,str = 「sunck」,weight = 70) 返回sunck 18 70
預設引數:
(要用預設引數,最好將預設引數放到最後)
概念:呼叫函式時,如果沒有傳遞引數,則使用預設引數
eg: def myprint(age = 18,str = 「sunck」,weight = 70):
print(str,age,weight)
myprint() 返回sunck 18 70
eg: def myprint(age ,str = 「sunck」,weight = 70):
print(str,age,weight)
myprint(18) 返回sunck 18 70
不定長引數:
(加星號(*)的變數存放所有未命名的變數引數,如果在函式呼叫時沒有指定引數,它就是乙個空元祖)
(雙星號(**)代表簡鍵值對的引數字典,和*所有代表意義類似)
eg: def func (name,*arr):
print(name)
for x in arr:
print(x)
func(「sunck」,」is」,」a」,」good」,」man」) 返回sunck is a good man
eg: def func1 (**kwargs):
print(kwargs)
func(x = 1,y = 2,z = 3」) 返回
eg: func3(*args,**kwargs):
pass #pass代表乙個空語句
#上eg代表接受任意引數
匿名函式:
概念:不適用def關鍵字這樣的語句定義的函式,使用lambda來建立匿名函式
特點:1、 lambda只是乙個表示式,函式體比def簡單
2、lambda的主題是乙個表示式,而不是**塊,僅僅能在lambda表示式中封裝簡單的邏輯
3、lambda函式有自己的命名空間,且不能訪問自由引數列表之外的或者全域性命名空間的引數
4、雖然lambda是乙個表示式且看起來只能寫一行,與c、c++內聯函式不同
格式:lambda 引數1,引數2...引數n:expression
eg: sum = lambda num1, num2: num1 + num2
print(sum(1,2)) 返回3
Python小筆記 Try函式 異常處理
異常處理 捕捉異常可以使用try except語句。try except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常資訊並處理。如果你不想在異常發生時結束你的程式,只需在try裡捕獲它。語法 以下為簡單的try except else的語法 try 語句 執行別的 except ...
python函式小測
1.程式設計實現9 9乘法表 1x1 1 2x1 2 2x2 4 for i in range 1,10 for j in range 1,i 1 print dx d d j,i,i j end print 2.用函式實現求100 200裡面所有的素數 def isprime a 100,b 20...
python小筆記 字典
概述 使用鍵 值 key value 儲存,具有極快的查詢速度 注意 字典是無序的 key的特性 字典中的key必須唯一 key必須是不可變物件 字串 整數等都是不可變的,可以作為key list是可變的,不能作為key 建立 eg dict 獲取 eg dict print dict lilei ...