仍然是这个门外汉的一篇笔记~
1. 返回值
函数返回的值即为返回值,可以使用 return 语句将值返回到调用函数的那行代码。
1.1 返回简单值
使用 return看起来让语句变得复杂了,但这样实现了姓和名的分别存储,每当需要输出姓名时,就可以调用这个函数。
#返回简单值: 返回标准格式的姓名
def formatted_name(fist_name, last_name):
"""返回标准格式的姓名"""
full_name = f"{fist_name} {last_name}"
return full_name.title()
musician = formatted_name('jimi', 'hendrix')
print(musician)
1.2 可选参数
有时候某些实参没有办法输入,比如歪果仁的名字,有 first name,middle name,last name。有的人就是没有middle name,这该怎么办?需要对 formatted_name() 函数做一丢丢扩展,注意这里为 middle_name 设定了一个默认值,就要把这个有默认值的形参放在最后,因为无论实参给出两个或者三个,Python都会按照位置实参读入哦~
这里我没有找到合适的例子,用的是书上的例子(《Python入门到实践》,第八章)
#返回简单值: 返回标准格式的姓名
def formatted_name(first_name, last_name, middle_name=''):
"""返回标准格式的姓名"""
#python将非空字符串解读为True
if middle_name:
full_name = f"{first_name} {middle_name} {last_name}"
else:
full_name = f"{first_name} {last_name}"
return full_name.title()#大写
musician = formatted_name('jimi', 'hendrix')
print(musician)
musician = formatted_name('john', 'hooker', 'lee')
print(musician)
2. 返回字典
函数可以返回任何类型的值,包括列表和字典等复杂的数据结构。
#返回字典
def a_perison(first_name, last_name, age=None):
"""返回一个字典,其中包含有关一个人的信息"""
person = {'first': first_name, 'last': last_name}
if age:
person['age'] = age
return person
person = a_perison('Hua','Li', 22)
print(person)
3. while 循环和函数结合的一个例子
while 循环中给出了退出的条件,无论在 First name,还是Last name 中输入‘q’ 均可以退出程序。这里函数 message() 的作用:标准化姓名。
#使用while循环和函数相结合,让用户不断输入,并且给出退出途径
def message(first_name, last_name):
"""返回一个人的标准化姓名"""
full_name = f"{first_name} {last_name}"
return full_name.title()
#while函数输入信息
while True:
print(f"\nPlease enter your message:")
print(f"(enter 'q' to exit the program)")
f_name = input("First Name: ")
if f_name == 'q':
break
l_name = input("Last_name: ")
if l_name == 'q':
break
name = message(f_name, l_name)
print(f"\nHello, {name}!")