iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
自我挑戰組

Python淺顯易懂的小教室系列 第 25

[Day_25]函式與遞迴_(4)

函式的輸入與輸出

函式的輸入

函式中有預設值的輸入參數一定放在後面,預設值要式不可以變的常數,不能為串列或字典等可以修改的資料結構

#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

今天先到這邊喔
明天見~~~
/images/emoticon/emoticon01.gif


上一篇
[Day_24]函式與遞迴_(3)
下一篇
[Day_26]函式與遞迴_(5)
系列文
Python淺顯易懂的小教室30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言