1.让实参变成可选的
#让实参变成可选的
def get_formatted_name(first_name,last_name,middle_name = ''):
""""返回整洁的姓名"""
if middle_name:
full_name = first_name +' '+ middle_name + ' ' + last_name
else:
full_name = first_name + ' ' + last_name
return full_name.title()
musician = get_formatted_name('li','ming')
print(musician)
musician = get_formatted_name('li','ming','da')
print(musician)
并不是所有人都有中间名,故把中间名的形参放到最后一个。这样不影响默认的位置传递实参。而在返回值(return)把中间名放到中间,不至于出现输出位置顺序混乱的情况。
2.返回字典
#让实参变成可选的
def get_formatted_name(first_name,last_name,middle_name = ''):
""""返回整洁的姓名"""
if middle_name:
full_name = {'first_name:':first_name ,'middle_name: ':middle_name,' last_name : ':last_name}
else:
full_name = {'first_name:':first_name ,' last_name : ':last_name}
return full_name
musician = get_formatted_name('li','ming')
print(musician)
musician = get_formatted_name('li','ming','da')
print(musician)
返回值可以是字典、列表等任意内容。
3.使用任意数量的关键字实参
def build_profile(first,last,**user_info):
""""创建一个字典,其中包含我们知道的有关用户的一切"""
profile = {}
profile['first_name'] = first
profile['last_name'] = last
for key,value in user_info.items():
profile[key] = value
return profile#返回值还是一个字典
user_profile = build_profile('albert','einstein',
location = 'beijing',
filed = 'physics')
print(user_profile)