天天看點

python記錄<1>函數變量作用域參數的類型okok,這次的分享就到此結束啦!加油,代碼人!

函數

定義:函數對程式邏輯進行結構化或過程化的一種程式設計方式,寫函數的目的是為了代碼的重用。

1.自定義函數:自定義函數通過def關鍵字定義。

def函數名(參數):
  語句塊(函數體)
           

2.形參和實參

<1>形參:定義函數時,在函數名後面括号内的參數叫形參。

<2>實參:調用函數時可以通過參數給函數傳值,通過參數指派的過程叫傳參。而調用函數時這個參數就叫實參。

def fun99(x):                                   #設定一個形參
    for i in range(1,x+1):                      #實參的值可以傳遞到函數體内
        for j in range(1,i+1):
             print(j,'*',i,'=',i*j,'\t',end='')
        print('\n')
print("It''s Main")
fun99(3)                                         #數字3即是實參的值
fun99()                                          #調用函數未傳參
           

3.傳回值

傳回值是函數的一部分,即使不設定,以然也會有傳回值。(注:由于這個沒有設定傳回值,是以輸出結果看到的是None。) 

x=fun99(3)            #等号後調用了函數,此時就已經想螢幕列印結果了,函數的傳回值指派給了x
print(x)              #列印函數的傳回值
           

變量作用域

1.局部變量

局部變量是在函數内定義的變量,這種變量隻能在函數内部使用。局部變量的作用域隻在它被定義的巨塊中。

如下例:

x = 10
def func(i):
    print("x=",i)
    x = 100
    y = 50
    print("local x =",x)
    print("local y =",y)

func(x)
print("x=",x)
print("y=",y)
           

2.全局變量

定義:如果想要函數内的變量作用于函數之外,這種變量的作用域就必須是全局的。能夠作用于函數内外的變量,叫作全局變量。(函數以外定義的變量。)

全局變量可以通過global語句定義,改造一下上面的程式,把x和y定義成全局變量:

x=10
def func(i):
    global x,y
    print("x = ",i)
    x = 100
    y = 50
    print("local x =",x)
    print("local y =",y)

func(x)
print("x = ",x)
print("y = ",y)
           

運作結果如下:

x = 10
local x = 100
local y = 50
x = 100
y = 50
           

參數的類型

1.位置參數

定義:實參的指派時按照形參定義的順序傳遞。

def func(x,y,z):
    print(x,y,z)

func(1,2,3)                    #TypeError 在函數執行時,定義的形參沒有實參,就會報錯
           

2.命名傳參

定義:執行函數時,形參名=值(實參)方式指派。

注:<1>使用命名可以不按照形參定義的順序指派。

       <2>檢視函數幫助資訊help(函數名):

print(help(func1))
           

3.預設值參數

定義:定義函數時,給形參設定預設值。

def func2(x=1,y=2,z=3):
    print(x,y,z)

func2(y=2222)                #使用預設值參數時,可以不用給擁有預設值的形參指派
           

4.可變長度參數:在參數名前加 *

形參會将接受到的所有參數放置在一個元組中。

求最大值:

def func3(*args):
    m = args[0]
    for i in args[1:]:
            if m < i:
                    m = i
    return m

print(func3(1,2,23,3,3,4))
           

5.可變長命名參數 : **形參

使用字典類型接收所有的參數{"形參":實參}

def func4(**kwargs):
        print(kwargs)

func4(name="root",password="123456")

input()
           

okok,這次的分享就到此結束啦!加油,代碼人!