函式的輸入與輸出
函式的輸入
函式中有預設值的輸入參數一定放在後面,預設值要式不可以變的常數,不能為串列或字典等可以修改的資料結構
#input
def f(s,count=1):
print(s*count)
f('HI')
#output
HI
可以經由函式呼叫輸入新的數值取代原預設值,如以下範例
#input
def f(s,count=1):
print(s*count)
f('HI',3)
#output
HIHIHI
函式內參數的對應,若未指定名稱會依照順序填入,例如:自訂函式func如下。
def func(x,y,z=9):
print('x=',x,'y=',y,'z=',z)
若以func(1,2)進行呼叫,會印出「x=1 y=2 z=9」,可以看出依照順序放入對應的參數;若以func(1,2,3)進行呼叫,會印出「x=1 y=2 z=3」,可以看出依照順序放數對應的參數,且預設值被輸入值取代。若以func(x=3,y=4)進行呼叫,會印出「x=3 y=4 z=9」,可以指定參數與輸入值的對應,這時就可以不用依照順序,例如以func(y=5,x=6)進行呼叫,會印出「x=6 y=5 z=9」,指定參數與輸入值的對應,輸入值的對應,輸入值與參數的對應順序可以順序可以不同。以func(x=3,z=6)進行呼叫,會發生TypeError,因為參數y沒有輸入值,沒有預設值的參數一定要有輸入值。
#input
def func(x,y,z=9):
print('x=',x,'y=',y,'z=',z)
func(1,2)
func(1,2,3)
func(x=3,y=4)
func(y=5,x=6)
#func(x=3,z=6)
#output
x= 1 y= 2 z= 9
x= 1 y= 2 z= 3
x= 3 y= 4 z= 9
x= 6 y= 5 z= 9
今天先到這邊喔
明天見~~~