GitHub 博客园 Nanakon

函数参数

# 关键字参数
def menu(wine, entree, dessert):
    print({'wine': wine, 'entree': entree, 'dessert': dessert})


menu('frontenac', dessert='flan', entree='fish')
# 指定默认参数值
def menu(wine, entree, dessert='pudding'):
    print({'wine': wine, 'entree': entree, 'dessert': dessert})

menu('chardonnay', 'chicken') # {'dessert': 'pudding', 'entree': 'chicken', 'wine': 'chardonnay'}

def nonbuggy(arg, result=None):
    if result is None:
        result = []
    result.append(arg)
    print(result)

nonbuggy('a') # ['a']
nonbuggy('b') # ['b']
# 使用*收集位置参数
def print_args(*args):
    print(args)


print_args(3, 2, 1, 'wait!', 'uh...')

def print_more(required1, required2, *args):
    print('Need this one:', required1)
    print('Need this one too:', required2)
    print('All the rest:', args)

print_more('cap', 'gloves', 'scarf', 'monocle', 'mustache wax')

#(3, 2, 1, 'wait!', 'uh...')
#('Need this one:', 'cap')
#('Need this one too:', 'gloves')
#('All the rest:', ('scarf', 'monocle', 'mustache wax'))
# 使用**收集关键字参数
#使用两个星号可以将参数收集到一个字典中,
#参数的名字是字典的键,对应参数的值是字 典的值
def print_kwargs(**kwargs):
    print(kwargs)

print_kwargs(wine='merlot', entree='mutton', dessert='macaroon')

#{'dessert': 'macaroon', 'entree': 'mutton', 'wine': 'merlot'}

 

关键词变量

def get_log(user_id, log_id):
    print(user_id, log_id)

get_log('1', '1')
get_log(user_id='1', log_id='1')
parts = {'user_id': '1', 'log_id': '1'}
get_log(**parts) #等价get_log(user_id='1', log_id='1')

 

posted on 2016-02-22 15:22  jzm17173  阅读(162)  评论(0编辑  收藏  举报

导航

轻音