• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
QQ糖_尤尤
博客园    首页    新随笔    联系   管理    订阅  订阅
8.3返回值

8.3.1.返回简单值

#接受名和姓并返回整洁的姓名


def get_formatted_name(first_name,last_name):

    """返回整洁的姓名"""

    full_name=first_name+' '+last_name
    return full_name.title()

mussician=get_formatted_name("jimi","hendrix")
print(mussician)



>>> 
==================== RESTART: D:/python学习/第8章 函数/8.3.1.py ====================
Jimi Hendrix
>>> 

 8.3.2 让实参变成可选的

以上实例扩展:使其还可以处理中间名。

#接受名、中间名和姓并返回整洁的姓名


def get_formatted_name(first_name,middle_name,last_name):

    """返回整洁的姓名"""

    full_name=first_name+' '+middle_name+' '+last_name
    return full_name.title()

mussician=get_formatted_name("join","lee","hooker")
print(mussician)



>>> 
==================== RESTART: D:/python学习/第8章 函数/8.3.2.py ====================
Join Lee Hooker
>>> 

 如果中间名变成可选,可给实参middle_name指定一个默认值(空字符串),并将其移到形参列表的末尾,在调用函数时若没有提供中间名则使用默认值。

#接受名、中间名和姓并返回整洁的姓名
"""
如果中间名变成可选,可给实参middle_name指定一个默认值(空字符串),
并将其移到形参列表的末尾,在调用函数时若没有提供中间名则使用默认值。
"""
def get_formatted_name(first_name,last_name,middle_name='   '):

    """返回整洁的姓名"""

    full_name=first_name+' '+middle_name+' '+last_name
    return full_name.title()

#不提供中间名
mussician=get_formatted_name("join","hooker")
print(mussician)


#提供中间名
mussician=get_formatted_name("join","lee","hooker")
print(mussician)


>>> 
=================== RESTART: D:/python学习/第8章 函数/8.3.2l.py ===================
Join     Hooker
Join Hooker Lee
>>> 

 8.3.3 返回字典

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

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

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


>>> 
==================== RESTART: D:/python学习/第8章 函数/8.3.3.py ====================
{'last': 'hendrix', 'first': 'jimi'}
>>> 

 也可以有可选形参:

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


#有可选形参age
musician=build_person("jimi","hendrix",age=27)
print(musician)
print()

#无可选形参age
musician=build_person("jimi","hendrix")
print(musician)


>>> 
=================== RESTART: D:/python学习/第8章 函数/8.3.3l.py ===================
{'last': 'hendrix', 'first': 'jimi', 'age': 27}

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

 8.3.4 结合使用函数和while循环

#结合使用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 you name:")
    f_name=input("First name:")

   #如果输入q退出循环 
    if f_name=="q":
        break

    #如果输入q退出循环 
    l_name=input("Last name:")
    if l_name=="q":
        break

    format_name=get_formatted_name(f_name,l_name)
    print("\nHello,"+format_name+"!")



运行结果:

>>> 
==================== RESTART: D:/python学习/第8章 函数/8.3.4.py ====================

Please tell me you name:
First name:zhang
Last name:san

Hello,Zhang San!

Please tell me you name:
First name:li
Last name:si

Hello,Li Si!

Please tell me you name:
First name:wang
Last name:q
>>> 

 

posted on 2021-01-17 12:35  QQ糖_尤尤  阅读(122)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3