目錄
全域性變數和區域性變數
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...