函數&&變量

#*- 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
'''
View Code
相關文章
相關標籤/搜索