函數(shù)就像積木一樣的代碼塊,提前設(shè)置好一堆的公式啊,屬性值啊,等等,用的時候就只需要將一些值傳遞進去,不用用一次公式就寫一次公式。
def hello(b,c): #通過關(guān)鍵詞def定義函數(shù) ()里面代表參數(shù),b,c就是參數(shù)值
a=b+c #hello函數(shù)的內(nèi)容
return a #返回值 a
e=hello(7,4) #傳遞參數(shù)7,4,然后賦值給e
print(e) #最后打印e
11
如果我們將return a注釋掉,結(jié)果會顯示空,這個意味著不用返回值的時候,函數(shù)調(diào)用就無法顯示。
在上面案例我們能看到,我們將a=b+c
這個公式做成了函數(shù)hello()
,當我們需要使用她的時候,通過hello(7,4)
給函數(shù)賦值,然后去執(zhí)行函數(shù)hello()
內(nèi)部的公式,那么e又有什么作用呢,其實e=a,就相當于將a的值賦給了e,最終用打印輸出e,實現(xiàn)顯示a結(jié)果的目的。
你可以嘗試刪掉上面程序的不同部分,分別運行看看結(jié)果有什么不一樣,就能直觀感受到函數(shù)表達式的不同部分的作用。
默認參數(shù),主要就是在參數(shù)里面提前設(shè)置好一些數(shù)值,就相當于提前設(shè)置好的一個值,恩,比如像玩游戲里面的英雄角色的初始值,作用也差不多。
def hello(b,c=5): #c=5就是默認參數(shù)值
a=b+c
return a
e=hello(7,7) #默認參數(shù)值,并不影響我們重新給c賦值
print(e)
14
關(guān)鍵參數(shù),比如我有一個英雄力量=5
,智力=7
,如果吃了一本力量書,力量變?yōu)?0,我們就傳入?yún)?shù)10,但如果hello()
內(nèi)部如果有很多參數(shù)的話,我們在傳入?yún)?shù)的時候還要去找具體力量=5
這個參數(shù)被我們放到哪里了,很不方便,所以用關(guān)鍵參數(shù)能解決這個問題。
def hello(b,c):
a=b+c
return a
e=hello(c=6,b=8) #c=6 b=8 就是關(guān)鍵參數(shù)
print(e) #這樣還可以不用考慮函數(shù)hello(b,c)的排列順序
14
5.1 把我們之前做的乘法表代碼放進去試試 能看到,我們能直接通過輸入變量名來對hello()函數(shù)進行調(diào)用里面的乘法表功能,相當方便。
def hello():
num_one = int(input("請輸入乘法表:"))
num_two = 1
while num_two <= 5:
num_result = num_one * num_two
print("%r×%r=%r" % (num_one, num_two, num_result))
num_two = num_two + 1
while num_one >= 0:
num_one = int(input("請輸入乘法表:"))
num_two = 1
while num_two <= 5:
num_result = num_one * num_two
print("%r×%r=%r" % (num_one, num_two, num_result))
num_two = num_two + 1
b=hello()
print(b)
5.2 做一個正方形面積的函數(shù),并調(diào)用它
"""
square_area=length*length 正方形面積=邊長*邊長
"""
def square(length):
square_area=length * length
return square_area
a=square(5)
b=square(6)
c=square(7)
print(a,b,c)
25 20
更多建議: