函式:可以實現乙個功能的**組
自定義函式的定義必須要使用def關鍵字
函式命名通常使用英文結合數字或下劃線,嚴格區分大小寫,不能和關鍵字相同
格式:
def 函式名():
函式功能語句1()
函式功能語句2()
函式名()
具有引數的函式結構
def 函式(引數名,引數名...):
函式功能語句1
函式功能語句2
函式名(值,值...)
還有一種使用return語句將函式執行完畢的結果返回
一般return一般只能返回乙個值,如需返回多個資料可以將其組成序列型別再返回
def 函式名():
函式功能語句1()
函式功能語句2()
return 語句
引數分為四類:
我們以後用到的最多的就是關鍵字引數
語法:
def 函式名(形參名 = 預設值,形參名 = 預設值,...):
函式功能語句1
函式功能語句2
...呼叫:
函式名(形參名 = 實參名,形參名 = 實參名,...)
一般實參和形參按照位置要一一對應,比較麻煩容易出錯
引入關鍵字引數後,不用考慮引數位置
例:
def stu(name,age,addr):
print("i am a student!")
print("i am , years old , and i live in ".format(name,age,addr))
n = stu('jason',7,'laifu hotle')
輸出結果:
i am a student!
i am jason,7 years old , and i live in laifu hotle
把沒有位置,不能和定義時的引數位置相對應的引數,放入乙個特定的資料結構中
def 函式名(*形參名):
函式功能語句1
函式功能語句2
...呼叫:函式名(實參,實參,實參,...)
例:
def stu(*args):
print("hello,everyone!")
for item in args:
print(item)
stu("liuying",18,"beijing","666","single")
輸出結果:
hello,everyone!
liuying
18beijing
666single
如果你覺得這樣寫函式很麻煩的話,實現乙個很簡單的功能還要寫這麼多行**的話,python還提供使用lambda表示式
定義:lambda表示式,通常是在需要乙個函式,但是又不想費神去命名乙個函式的場合下使用,也就是指匿名函式。
例:
a = lambda x,y : x+y
print(a(3,5))
輸出結果:
8
例:
m = int(input("請輸入m的值:"))
a = lambda x : 1 if m>3 else 2
print(a(2))
輸出結果:
輸入m的值:1
2請輸入m的值:5
1
變數分:全域性變數和區域性變數
全域性變數:在函式外部宣告,可在全域性範圍使用,包括區域性內部使用
區域性變數:在函式內部宣告,只能在區域性內使用
如果需要將區域性變數變為全域性變數,可以使用python提供的關鍵字global
def 函式名():
global 區域性變數
其他操作
例:
num = 1
def fun():
num = 123
print(num)
fun()
print(num)
輸出結果:
123
1
想要對全域性變數進行修改,要用到關鍵字global
num = 1
def fun():
global num
num = 123
print(num)
fun()
print(num)
輸出結果:
123
123
在全域性變數和區域性變數同名時,區域性環境指揮使用區域性變數,忽略同名的全域性變數
函式中呼叫和當前函式本身的函式,就是遞迴函式
例子
def func(n):
print(n)
if n>0:
func(n-1)
else:
print('------')
print(n)
func(int(input("請輸入:")))
輸出結果
請輸入:554
3210
------01
2345
Python學習 Python函式
函式的作用 封裝功能,方便呼叫 函式的定義 定義 def 函式名 引數列表 語句return 表示式 解釋 def 函式關鍵字,表明定義乙個函式 函式名 遵守識別符號規則 引數列表的開始和結束,如果沒有引數也不可以省略 引數列表 函式的呼叫者給函式傳遞的資料 語句 封裝的功能 return 用於結束...
python學習 函式
學習 def my abs x if x 0 return x else return x函式呼叫可以按順序使用預設引數,也可以不按順序提供部分引數但是需要把引數名寫上。def enroll name,gender,age 6,city beijing print name name print g...
Python學習 函式
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式的使用可以提高 的重用 提高程式設計的效率。def functionname params,函式的文字說明 main fun return 1 函式 塊 是以def開頭,後面接函式名和圓括號 2 圓括號裡面放函式引數,或者說引數的規...