#*- encoding=utf-8 -*
import sys
print(sys.getdefaultencoding())
def test(x,y,z):
print(x)
print(y)
print(z)
test(1,2,3)
#x,y,z稱爲形式參數,「1,2,3」稱爲位置參數,賦值時形參不能寫在位置參數前面
test(1,z=7,y=3)
####默認值參數
def test6(x,y=2):
print(x,y)
test6(1,2) #經過位置參數傳遞
test6(y=3,x=6) #經過關鍵字參數傳遞
##傳遞不固定長度的參數
def test2(*args):
print(args)
test2(1,2,3,4,5)
#傳遞參數數組
def test3(*args):
print(args)
test3(*[1,2,3,4,5])
##傳遞字典參數 key:value :**kwargs定義:把n個關鍵字參數轉換爲字典的方式
def test4(**kwargs):
print(kwargs)
test4(name='abc',age=18,job='sail')
###位置參數+默認值參數+字典參數
def test5(name,age=18,**kwargs):
print(name)
print(age)
print(kwargs)
test5('YF',20,job='sail',address='BJ')
test5('YF',job='sail',address='BJ',age=28)
局部變量與全局變量:
name='Liu Hu Lan' #全局變量 school='HB' def change_name(name): global school school='kinghua' #若是局部變量想變成全局變量,須要在該局部域(函數體)內用global 聲明 print('before_name:',name,',School is :',school) name='Hua Mu Lan' print('after name:',name) change_name(name) print(name,school) ''' 以上返回值: before_name: Liu Hu Lan ,School is : kinghua after name: Hua Mu Lan Liu Hu Lan kinghua '''