《Python编程从入门到实践》记录之Python函数返回值

目录

1、返回简单值

2、返回字典

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


更多关于Python函数的知识见如下博文:

《Python编程从入门到实践》记录之Python函数定义、使用

《Python编程从入门到实践》记录之Python函数实参传递(位置实参、关键字实参、列表和字典)

《Python编程从入门到实践》记录之Python函数传递任意数量的实参


函数如果在函数体内直接输出,则不需要返回值。但是,很多情况,则需要函数经过处理之后返回一个或一组值。

函数中,使用return语句将值返回到调用函数的代码行。函数可以返回任何类型的值,包括列表和字典等较复杂的数据结构


1、返回简单值

下边例子,接受名、姓和中间名(定义时有默认值)并返回整洁的姓名:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


# middle_name有默认值:空字符串
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')  # 中间名使用lee
print(musician)

运行结果:


2、返回字典

下面的函数接受姓名的组成部分,并返回一个表示人的字典:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


# age有默认值空字符
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(sorted(musician))  

运行结果:


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

可将函数同本书前面介绍的任何Python结构结合起来使用。

结合上述例子和while循环,以更正规的方式问候用户。下面尝试使用名和姓跟用户打招呼:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


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 + "!")

运行结果(红色方框为输入值):

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值