一、包含返回值的函数
下面来看一个函数,它接收名和姓并返回完整的姓名:
def get_formatted_name(first_name,last_name): """返回整洁的姓名""" full_name = first_name + ' ' + last_name return full_name.title() myname = get_formatted_name('Joker','Pan') print(myname)
console:
解释:函数 get_formatted_name() 的定义通过形参接收名和姓。它将姓和名合二为一,在它们之间加上空格,
并将结果存储在变量full_name中。然后将full_name 转为首字母大写的格式,并将结果返回给函数调用者。调
用有返回值的函数时需要一个变量接收这个参数,这里将返回值存储在了变量 myname 中,然后打印了myname。
二、让实参变成可选的
有时候需要将实参变成可选的,这样使用函数的人就只需要在必要的时候才提供额外的信息。实现方法就是
使用默认值。
如果上面的函数 get_formatted_user() 需要扩展一个信息如中间名,为此,可将其修改为类似下面这样:
def get_formatted_name(first_name,middle_name,last_name): """返回整洁的姓名""" full_name = first_name + ' ' + middle_name + ' ' + last_name return full_name.title() myname = get_formatted_name('Joker','smith','Pan') print(myname)
console:
但是,可能不是所有的人都拥有中间名,所以需要让这个参数变为可选参数,如何去做?其实
只需要给中间名赋一个默认值--空字符串就可以了。如下:
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() myname = get_formatted_name('Joker','Pan','smith') print(myname) other_name = get_formatted_name('jack','chen') print(other_name)
console:
需要注意的是:中间名是可选的,因此在函数定义中最后列出该形参,并将其默认值设置为空字符串