python中的函式相關知識

2021-10-04 11:24:01 字數 2944 閱讀 1979

目錄

全域性變數和區域性變數

1.全域性變數

2.區域性變數

引用傳遞和值傳遞

1.引用傳遞

2.值傳遞

函式引數(預設值引數、命名引數、可變引數、萬能引數)

1.預設值引數

2.可變引數

函式遞迴

匿名函式 -- lambda表示式

偏函式全域性函式

<1>全域性變數:定義在py檔案的變數

<2> 全域性變數定義在函式外部,可以在函式內部呼叫

<1>區域性變數:定義在函式中的變數叫做,函式被呼叫結束後不再生效

<2>在函式外面不能訪問到函式內部定義變數

傳入的引數物件是可變物件:列表,字典

def change(ls):

ls[-1] = -1

return ls

x = [1,2,3]

print(change(x))

輸出結果

傳入的引數物件是不可變的物件:數字,元組,字串

def change(x):

x = 1

return x

a = 2

print(change(a))

<1>定義:通常在形參的位置定義好的,在傳遞引數的過程中,若傳遞該預設值引數,則結果會呼叫傳遞時的引數,如不傳遞,則使用形參中的預設值

<2>例:計算圓的面積,在這之中,π通常使用3.14,故可將其設定為預設值,程式如下:

def area(r,pi=3.14):

return r*r*pi

# 不傳遞pi,則使用預設值

print(area(2))

# 傳遞時,不再使用預設值

print(area(2,3.14159))

執行結果為:

<1>定義:如果在定義函式時有多個引數,則可使用*args(args可以是其他字母)表示可變引數,可傳遞可不傳遞,結果是元組形式

<2>例:

a.不使用呼叫過程中傳遞的可變引數,則以元組形式出現

def show(name,age,*args):

print("我的名字是:",name)

print("我的年齡是:",age)

print(args)

show("hh",12,"羽毛球",190)

b.如果使用可變引數

def show(name,age,*args):

print("我的名字是:",name)

print("我的年齡是:",age)

print("我的愛好是:",args[0])

print("我的身高是:",args[1])

show("hh",12,"羽毛球",190)

函式自身呼叫自身叫做函式遞迴。注:如果遞迴中沒有結束條件,會形成死迴圈

例如:使用遞迴求1-100的和

def sum(num):

if num >= 0:

return num + sum(num - 1)

else:

return 0

print(sum(100))

即沒有名稱的函式,用法如下:

def show(a,msg):

a()print("haha-------",msg)

show(lambda :print("i'm a function"),"hihi")

結果如下

例如要轉換大量的二進位制字串,每次都傳入int(x, base=2)

但可以使用functools.partial建立乙個偏函式的,簡化操作

>>> import functools

>>> new_int = functools.partial(int,base=2)

>>> new_int("101")

5

函式

作用round() 

四捨五入,奇數ok,偶數》5則四捨五入

range(10)  

生成0-9之間的所有數,即左閉右開,預設間隔為1

range(1,10)  

1-9之間

range(1,10,2)

1-9,步長為2

len(a)  

返回容器的個數

any([a,b])    

a,b中有乙個為真即真

all([a,b])        

a,b中都為真即真

eval()

接收多個變數,能去掉字串,例如: a = eval(input("請輸入多個值:"))    // 返回結果為元組

a,b,c = eval(input("請輸入多個值:"))  // 返回結果為單獨的值

ascii()

轉為字串

abs()

取絕對值

max(),min()

最大值,最小值

bin(),oct(),hex()

二進位制,八進位制,十六進製制

python中的函式相關知識的介紹

python中的返回值型別一般為tuple def damage skill1,skill2 damage1 skill1 3 damage2 skill2 2 10 return damage1,damage2 damages damage 3,6 函式的返回值型別一般為tuple print t...

Python函式相關知識

定義乙個由自己想要功能的函式,以下是簡單的規則 任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。函式的第一行語句可以選擇性地使用文件字串 用於存放函式說明。函式內容以冒號起始,並且縮排。return 表示式 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回...

函式中的this 箭頭函式相關知識

函式中 this 普通函式中this 不是看它定義時候所處的物件 誰呼叫它this就是誰 普通函式中 this 是什麼?如何確定this的值?var o o.b.fn 儘管物件b中沒有屬性a,這個this指向的也是物件b,因為this只會指向它的上一級物件,不管這個物件中有沒有this要的東西。va...