Python學習 函式

2021-09-02 14:56:45 字數 2873 閱讀 9549

函式:可以實現乙個功能的**組

自定義函式的定義必須要使用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 圓括號裡面放函式引數,或者說引數的規...