python學習筆記 day8(3)

2021-10-16 04:26:33 字數 2582 閱讀 8319

def 函式名( 引數列表 ) :

函式體return [ 表示式 ]

在沒有引數時,要保留()在return時,會根據表示式返回乙個值給呼叫方,如果不帶返回值,則相當於返回 none

通過函式名呼叫函式,也要注意在呼叫函式時引數的問題。

在python中,型別屬於物件,變數沒有型別

在傳入引數時,不同的引數型別會產生不同的影響

不可變物件,如整數、字串、元組

可變物件,如列表、字典

傳入不可變引數物件時,傳入的是引數的值,不會對物件本身產生影響

傳入可變引數物件時,傳入的是物件,函式內對引數進行的操作會影響到函式外引數的內容,即函式內對引數的操作會在全域性範圍內對變數產生影響

# 傳入可變引數

def change(mylist):

print('函式內取值:',mylist)

return

mylist = [10,20,30]

change(mylist)

print('函式外取值:',mylist)

呼叫函式時,可使用到的正式引數型別

必需引數

關鍵字引數

預設引數

不定長引數

必需引數需要以正確的順序傳入函式,呼叫時的數量必須和宣告時一樣

關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值

使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致

def printinfo(name,age):

print('姓名',name)

print('年齡',age)

return

printinfo(age=50,name='tom')

呼叫函式時,如果沒有傳遞引數,則會使用預設引數

def printinfo(name,age=15):	# age預設值為 15

print('姓名',name)

print('年齡',age)

return

printinfo(age = 50,name='tom')

printinfo(name='amy')

需要乙個函式處理比宣告時更多的引數。這些引數叫做不定長引數。與之前的引數不同,宣告時不會命名。

def printinfo(arg1 , *vartuple):

print('輸出:')

print(arg1)

print(vartuple)

printinfo(70,80,90)

輸出

70(80,90)

*的引數會議元組的形式傳入,存放所有未命名的變數,在函式呼叫時沒有指定引數,他就是乙個空元組,可以不向函式傳遞未命名變數

加了**的引數會以字典的形式匯入

def printinfo(arg1, **vardict):

print(arg1)

print(vardict)

return

printinfo(1,a=2,b=3)

1

注:*可以單獨出現,如果出現單獨的*,則星號後的引數需要以關鍵字的方式傳入

def test(a,b,*,c):

print(a)

print(b)

print(c)

return

text(1,2,c=5)

python使用 lambda 來建立匿名函式

lambda 只是乙個表示式,函式體比 def 簡單

lambda 的主體是乙個表示式,而不是乙個**塊。僅能封裝有限的邏輯

lambda 函式有自己的命名空間,不能訪問引數列表外或全域性命名空間的引數

看上去只有一行,但等同於內聯函式,主要是為了提高執行效率,減少不必要的棧記憶體使用

sum = lambda arg1,agr2: arg1+arg2

print(sum(10,20))

return [表示式],用於退出函式,選擇性地向呼叫方返回乙個表示式。不帶引數的 return語句返回 none。

def sum(arg1,arg2)

total = arg1 + arg2

return total

total = sum(1,2)

print(total)

偷懶的一天 Day83

今天實在是學不進去,從公司裡工作著也是渾渾噩噩的,雖然不是我媳婦生孩子,但這也是我們這個大家庭裡的第乙個孩子,我的親大侄子啊,當然還可能是侄女,還在想名字,都想了好多了,還是有些激動有些緊張啊。偷懶一天,來碼上幾個字,草草寫上至少我也知道我還在意著。html css css3 js不能說掌握的比較好...

Python學習筆記 8 3章 單元測試

1 概覽 單元測試是用來對乙個模組 乙個函式或者乙個類來進行正確性檢驗的測試工作。比如對函式 abs 我們可以編寫出以下幾個測試用例 輸入正數,比如1 1.2 0.99 期待返回值與輸入相同 輸入負數,比如 1 1.2 0.99 期待返回值與輸入相反 輸入0 期待返回0 輸入非數值型別,比如 non...

Python學習筆記 8 3 函式 返回值

例1 def db connect ip,port 3306 print ip,port res db connect 118.24.3.40 3307 如果函式中沒有return,print res 會返回none。例2 def my2 for i in range 50 return i pri...