1. 程式人生 > 實用技巧 >python程式設計從零基礎到專案實踐第六章學習---自定義函式第二步

python程式設計從零基礎到專案實踐第六章學習---自定義函式第二步

1、引數位置相關內容

def test(name,age):
print("姓名:%s,年齡:%d"%(name,age))

test("hah",11) 姓名:hah,年齡:11
test(name="cscs",age=50) 姓名:cscs,年齡:50 關鍵值傳參


def test1(name="",age=20):
print("姓名%s,年齡%d"%(name,age))
test1() 姓名,年齡20 傳預設值
test1("hh") 姓名hh,年齡20 填一個的話預設給name
test1("111",13) 姓名111,年齡13 都填的話按照填寫的來


2、不定長引數 格式:函式名([param1,param2,pamar3...,]*paramX) 帶*的paramX可以接受任何數值,但是一個自定義函式只能有一個帶*的引數,而且只能放在最右邊的引數中國。
*可代表傳多個引數
def fruit(name,*weidao):
print(name)
print(type(weidao))
print(weidao)

fruit("ggg",111,222,333)

ggg
<class 'tuple'>
(111, 222, 333)

3、傳遞任意數量的鍵值對 函式名([param1,param2,pamar3...,]**paramX) 傳遞的是鍵值對

def fruit2(name,**weidao):
print(name)
print(type(weidao))
print(weidao)

fruit2("xigua",aa="aaaa",bb="bbbb")

xigua
<class 'dict'>
{'aa': 'aaaa', 'bb': 'bbbb'}

全域性變數和區域性變數

j=5
def sum1(i):
i=i+j
return i
i=8
print(sum1(6))
print(j)
print(i)

11 5 8
j為全域性變數 函式裡的i為區域性變數 函式外的i為全域性變數
global全域性變數
j = 5
k = 3
def sum1(k):
global j
j=j+5
k=4
return k

print(j) 5 全域性變數 j=5的值不變
print(k) 3 全域性變數k=3的值不變
print(sum1(10)) 4 函式裡的k=4區域性變數會變

閉包
j=5