Python函數(shù)

2018-07-24 16:44 更新

1.函數(shù)介紹

函數(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)用就無法顯示。

2.全局變量與局部變量

在上面案例我們能看到,我們將a=b+c這個公式做成了函數(shù)hello(),當我們需要使用她的時候,通過hello(7,4)給函數(shù)賦值,然后去執(zhí)行函數(shù)hello()內(nèi)部的公式,那么e又有什么作用呢,其實e=a,就相當于將a的值賦給了e,最終用打印輸出e,實現(xiàn)顯示a結(jié)果的目的。

  • 函數(shù)內(nèi)的是局部變量包括(b,c,a),函數(shù)外的是全局變量(e)。
  • 局部變量只在函數(shù)運行時候才存在,用完python會自動刪除這個變量。
  • 全局變量是被永久保存,我們能在任何地方使用她。
  • 給兩個變量起名字時候,全局變量的名字絕對不要和局部變量一樣。雖然有讓兩個變量相同的方法,但是不建議用。

你可以嘗試刪掉上面程序的不同部分,分別運行看看結(jié)果有什么不一樣,就能直觀感受到函數(shù)表達式的不同部分的作用。

3.默認參數(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

4.關(guān)鍵參數(shù)

關(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.練習

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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號