PYTHON函数(3)返回值

在函数中,return语句能将值返回到调用函数的代码行。

1、返回简单值

def get_formatted_name(first_name,last_name):
    """返回整洁的姓名"""
    full_name=first_name+' '+last_name
    return full_name.title()

musician=get_formatted_name('jimi','hendrix')
print(musician)

这个函数接受名和姓,返回姓名

Jimi Hendrix

2、让实参变成可选的

有时候需要让实参变成可选的,这样使用函数的人就只需在必要的时候才提供额外的信息。可使用默认值来让实参变成可选的

def get_formatted_name(first_name,middle_name,last_name):
    """返回整洁的姓名"""
    full_name=first_name+' '+middle_name+' '+last_name
    return full_name.title()

musician=get_formatted_name('john','lee','hooker')
print(musician)

扩展上面的函数,让它可以处理中间名

John Lee Hooker

然而并非所有人都有中间名

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('jimi','hendrix')
print(musician)

musician=get_formatted_name('john','hooker','lee')
print(musician)

可给实参middle_name指定一个默认值——空字符串,并将其移到形参列表的末尾

Jimi Hendrix
John Lee Hooker

3、返回字典

函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。

def build_person(first_name,last_name):
    """返回一个字典,其中包含有关一个人的信息"""
    person={'first':first_name,'last':last_name}
    return person

musician=build_person('jimi','hendrix')
print(musician)

结果

{'first': 'jimi', 'last': 'hendrix'}

还可以继续添加信息

def build_person(first_name,last_name,age=''):
    """返回一个字典,其中包含有关一个人的信息"""
    person={'first':first_name,'last':last_name}
    if age:
        person['age']=age
    return person

musician=build_person('jimi','hendrix',age=27)
print(musician)

结果

{'first': 'jimi', 'last': 'hendrix', 'age': 27}

4、结合使用函数和while循环

def get_formatted_name(first_name, last_name):
    """返回整洁的姓名"""
    full_name = first_name + ' ' + last_name
    return full_name.title()

while True:
    print("\nPlease tell me your name:")
    print("(enter '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("\nHello, " + formatted_name + "!")

结果

Please tell me your name:
(enter 'q' at any time to quit)
First name: eric
Last name: matthes

Hello, Eric Matthes!

Please tell me your name:
(enter 'q' at any time to quit)
First name: q

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值