#有默认参数
#定義默认参数 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
#定義默认参数 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