Python 函数(补充)

  函数返回值:

  函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值。在函数中,可使用return语句将值返回到调用函数的代码行。

返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序。

  • 返回简单值:

  下面来看一个函数,它接受名和姓并返回简洁的姓名:

def formatted_name(first_name,last_name):
    full_name = first_name + " " + last_name
    return full_name.title()
message = formatted_name("zi","li")
print(message)

#输出结果:Li Zi

  我们原本只需编写下面的代码就可输出整洁的姓名,相比于此,上面的代码好像太多了:

print("Li Zi")

  但在需要分别存储大量名和姓时的大型程序中,像formatted_name()这样的函数非常有用。你分别存储名和姓,每当需要显示姓名时都调用这个函数。

  • 返回字典:

  函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。例如,下面的函数接受姓名的组成部分,并返回一表示人的字典:

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

#输出结果:{'first':'zi','last':'li'}

  函数build_person()接受名和姓,并将这些值封装到字典中。这个函数接受简单的文本信息,将其放在一个更适合的数据结构中,让你不仅能打印这些信息,还能以其他方式处理它们。也可扩展这个函数,使其接受可选值,如年龄、职业或用户要求的其他信息。例如,下面的修改让你还能存储年龄:

def build_person(first_name,last_name,age=' '):
    """返回一个字典,其中包含有关一个人的信息"""
    person = {"first":first_name,"last":last_name}
    if age:
        person['age'] = age
        """在字典中添加age的键值对"""
    return person
message = build_person("zi","li",age=18)
print(message)

#输出结果:{'first':'zi','last':'li','age':18}    

  传递列表:

  将列表传递给函数后,函数就能直接访问其内容。下面使用函数来提高处理列表的效率。假设有一个用户列表,我们要问候其中的每位用户。下面示例将一个名字列表传递给一个名为greet_users()的函数,这个函数中问候列表中的每个人:

def greet_users(names):
    """向列表中的每位用户都发出简单的问候"""
    for name in names:
        msg = "Hello," + name.title() + "!"
        print(msg)
username = ['lizi','qianqian','qiqi']
greet_users(usernames)

#输出结果:Hello,Lizi!
#输出结果:Hello,Qianqian!
#输出结果:Hello,Qiqi!

  输出完全符合预期,每位用户都看到了一个个性化的问候语。每当你要问候一组用户时,都可调用这个函数。

  函数编写指南:

  1. 指定描述性名称,且只在其中使用小写字母和下划线
  2. 每个函数都应包含简要地阐述其功能的注释
  3. 建议每行代码不超过79字符,若超过时,可在函数定义中输入左括号后按回车键,并在下一行按两次Tab键,从而将形参列表和只缩进一层的函数体区别开。
  4. 如果程序包含多个函数,可使用两个空行将相邻的函数分开。

 

猜你喜欢

转载自www.cnblogs.com/Chestnut-g/p/9930429.html
今日推荐