概述
文章目录
- 一、返回值
- 1.返回简单值
- 2.让实参变成可选的
- 3.返回字典
- 4.结合使用函数和while循环
一、返回值
函数并非总是直接显示输出,它还可以处理一些数据,并返回一个或一组值。
函数返回的值称为返回值。
在函数中,可使用return语句将值返回到调用函数的代码行。
1.返回简单值
例:定义一个函数,它接受名和姓并返回整洁的姓名。
def get_formatted_name(first_name,last_name):
"""返回简洁的姓名"""
full_name = f"{first_name} {last_name}"
return full_name.title()
musician = get_formatted_name('jimi','hendrix')
print(musician)
输出结果:
**注意!**调用返回值的函数时,需要提供一个变量,以便将返回的值赋给它。在这里,将返回值赋给了变量musician,输出为简洁的姓名。
2.让实参变成可选的
有时候,需要将实参变成可选的,这样使用函数的人就能只在必要时提供额外的信息。可使用默认值来让实参变成可选的。
例:扩展上例,使其同时处理中间名。
def get_formatted_name(first_name,middle_name,last_name):
"""返回简洁的姓名"""
full_name = f"{first_name} {middle_name} {last_name}"
return full_name.title()
musician = get_formatted_name('john','lee','hooker')
print(musician)
输出结果:
我们现在思考一个问题:并非所有人都有中间名,如果我们调用这个函数时只提供了名和姓,这个程序就不能正常运行。
为了让中间名变成可选的,可给形参middle_name指定一个空的默认值,并在用户没有提供中间名时不使用这个形参。
为让get_formatted_name()在没有提供中间名时依然可行,可将形参middle_name的默认值设置为空字符串,并将其移到形参列表的末尾。
例:改进上个代码
def get_formatted_name(first_name,last_name,middle_name=''):
"""返回简洁的姓名"""
if middle_name: #如果middle_name非空
full_name = f"{first_name} {middle_name} {last_name}"
else:
full_name = f"{first_name} {last_name}"
return full_name.title()
musician = get_formatted_name('jimi','hendrix')
print(musician)
musician = get_formatted_name('john','hooker','lee')
print(musician)
输出结果:
3.返回字典
函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。
例:定义一个函数接受姓名的组成部分,并返回一个表示人的字典
def build_person(first_name,last_name):
"""返回一个字典,其中包含有关一个的信息"""
person = {'first':first_name,'last':last_name}
return person
#调用函数
musician = build_person('jimi','hendrix')
print(musician)
输出结果:
例2:扩展这个函数,使其能存储年龄
def build_person(first_name,last_name,age=None):
"""返回一个字典,其中包含有关一个的信息"""
person = {'first':first_name,'last':last_name}
if age:
person['age'] = age #添加键值对
return person
#调用函数
musician = build_person('jimi','hendrix',age=27)
print(musician)
输出结果:
在函数定义中,新增了一个可选形参age,并将其默认值设置为特殊值None(表示变量没有值)。可将None视为占位值。在条件测试中,None相当于False。
4.结合使用函数和while循环
可将函数同while循环结合起来使用
例:
def get_formatted_name(first_name,last_name):
"""返回简洁的姓名"""
full_name = f"{first_name} {last_name}"
return full_name.title()
#这是一个无限循环
while True:
print("nPlease tell me your name:")
f_name = input("First_name:")
l_name = input("Last_name:")
formatted_name = get_formatted_name(f_name,l_name)
print(f"nHello,{formatted_name}!")
输出结果:
但是上面的这个程序没有定义退出条件,我们可以改进一下程序
def get_formatted_name(first_name,last_name):
"""返回简洁的姓名"""
full_name = f"{first_name} {last_name}"
return full_name.title()
#这是一个无限循环
while True:
print("nPlease tell me your name:")
print("(ente 'q' at any time to quit!)")
f_name = input("First_name:")
if f_name == 'q':
break
l_name = input("Last_name:")
if l_name == 'q':
break
formatted_name = get_formatted_name(f_name,l_name)
print(f"nHello,{formatted_name}!")
输出结果:
最后
以上就是无语银耳汤为你收集整理的【笔记】python的返回值:返回简单值、让实参变成可选的、返回字典、结合使用函数和while循环一、返回值的全部内容,希望文章能够帮你解决【笔记】python的返回值:返回简单值、让实参变成可选的、返回字典、结合使用函数和while循环一、返回值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复