Python 第二部分 函式

2021-10-25 22:05:42 字數 2769 閱讀 6144

目錄前言

函式是工具,呼叫的過程即使用工具的過程,因此函式名為動詞為好。 先定義再呼叫。一般格式為:

def 函式名(引數):  #好的函式名能看出其功能

**段; #**段可適當的注釋

**段;

return 返回值

函式名()#呼叫函式

乙個函式無非三種情況:

#有引數的情況:

def max2(x,y):

if x>y:

print(x)

else:

print(y)

max2(100,192)

#無引數的情況

def max1():

print("這個是乙個無引數的函式")

max1()

#空函式

def max3()

pass

max3()

呼叫即執行的意思,就是函式名(引數)即可:

1,return none與 return,與不寫return 其相當於返回的結果都是none

2,return 返回的型別可以是任何資料型別

3,可以有多個return但是一次只return乙個結果

區域性變數與全域性變數:

區域性變數:在被呼叫函式內部定義的變數即區域性變數,在區域性的變數在該函式執行完之後就會自動的銷毀。

全域性變數:在所有函式之外定義的變數就叫全域性變數

def spam():

eggs=99

spam()

print(eggs) #這裡會報錯,因為eggs這個變數在函式的內部屬於內部變數,而這裡print()函式呼叫了乙個

#被沒有定義的區域性變數,所以會報錯。

def spam():

egg = 100

bar()

print(egg)

def bar():

egg = 50

spam() #這裡spam()執行的結果是egg=100,因為在spam()函式體內bar()函式內,雖然egg=50但問

#但這裡的egg=50是區域性變數,只能在bar()內部使用,當bar()執行結束,回到spam()體內

#egg=50失效

def foo():

print(eggs) #報錯,原因是因為在函式內部定義了eggs因此函式認為這是乙個區域性變數,但在呼叫之前

#未定義

eggs="local"#區域性變數

eggs="global" #全域性變數

foo()

1,引數的分類

巧記為:關鍵字引數傳參和預設引數

,都需要注意的是保證

位置引數在前

命名關鍵字引數:命名關鍵(字)引數,即這個引數一定要傳值,且以key-value的形式

2,用法舉例

關鍵字引數

def func1(a,b,c):

print(a,b,c)

func1(2,c=3,b=4) #混用正確 位置引數在前面

func1(2,a=3,c=4)#報錯 a為多個值

func1(a=1,b=2,3)#報錯 位置引數在前。

預設引數的用法:位置形引數在前

def func(b,c,a=1): #func(a=1,b,c)會報錯

print(a,b,c)

func(b=3,c=4)

func(a=8,b=3,c=5)

可變長引數*與**

def foo(x,y,z,*args):#儲存成不可變的元組

print(x,y,z)

print(args)

foo(1,2,3,4,5,6) #args=(4,5,6)

foo(1,2,3) #args={}

def foo1(x,y,z,**kwargs):

print(x,y,z)

print(kwargs)

foo1(9,8,7,a=6,b=5,c=4) #kwargs=

foo1(9,8,7) #{}

#關鍵字命名

def foo1(x,y,z,**kwargs):

print(x,y,z)

print(kwargs)

foo1(9,8,7,**) # kwargs=

***命名/關鍵字引數/的使用

def foo(x,y,*,z): #星號後面的引數就表示《帶》關鍵字的引數,關鍵字引數必須得傳值,而且以key-value

#的方式。

print(x,y,z)

foo(2,4,z=1)

函式的用法,函式的三要素

傳參的最難的一種情況舉例:

def foo(x,y=1,*,z,m=2,**kwargs):

print(x,y,z,kwargs)

foo(1,z=3) #注意這裡*後面的引數是命名關鍵字引數,所以用z=3,必須有的。至於**kwargs可傳可不傳

數學函式第二部分

4.round 函式 四捨五入 功能 返回浮點數的四捨五入的值 語法 round x,n 示例 實現加減乘除計算器 class mycalc def init self,a,b self.a a self.b b def addition self,retain return round self....

Web API 第二部分

web api 第二部分 元素偏移量 offset element.offsettop element.offsetleft element.offsetwidth 可以得到元素的大小 寬度和高度 是包含padding border width element.offsetheight elemen...

redux 第二部分

redux 的使用方法,為什麼使用 action.js 檔案,進行優化 將其分開,然後我們通過工廠函式的每次返回不同的物件,由於引數是固定的,每次返回的都是事件型別和事件資料,所以我們可以使用乙個函式,通過其返回值來返回乙個物件,讓後傳遞給 action 我們的 reducer 函式有兩個引數,引數...