python关键字参数非关键字参数

#有默认参数
#定義默认参数 age = 1, gender = 'M'

def person( name, age = 1, gender='M'):
      print 'name: %s   age: %d    gender: %s' % (name, age, gender)

#這裡只傳一個值給第一個參數which is name, age 和 gender已經有默认值,
#就算不傳新值給 age or gender也沒問題

person('Jacky')  
#output --> name: Jacky     age: 1    gender: M


#沒有默认参数
def person(name, age, gender):
      print 'name: %s   age: %d   gender: %s' % (name, age, gender)

# person('Jacky')  <-- error, 3個參數只傳了一個值
#沒有默认参数,就一定要傳 N(total 参数) 個值給 function.

person('Jacky', 19, 'M')


******************************************************

#关键字参数
#用上面第一個例子 person( name, age=1, gender='M')
#用关键字給function傳值時,不雖要跟著順序來也沒問題


#就算 age 和 name 順序不同, 但因為是用关键字來傳值,所以沒問題
person( age=18, name='Jacky')  
#output --> name: Jacky   age: 18    gender: 'M'

person( gender='F', age=17, name='Ashley')
#output --> name: Ashley  age: 17   gender: 'F'

# Error, 沒用关键字去傳值
# person( 20, 'M', 'Jacky')  <-- 沒用关键字時,一定要按順序去傳值


i tried to explain as clear as i can....xP
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值