终于要开始学函数了,以前学到的所有相关知识都可以在函数中得到应用,要执行函数定义的特定任务,那么只需调用函数即可。
1.从例子开始学起
1.1定义函数
在Python中,函数如何定义呢?通过def关键字定义函数。例如:
# define a function
def desc_info():
"""函数的文档注释"""
print('This is a function')
#调用函数
desc_info()
上面这个例子定义了一个desc_info函数,这个函数的主要功能是打印一句话。这里要注意几点。
- 函数的命名,要见名知意。一个好的函数命名,胜过详细的文档描述。
- 文档注释不可少,函数体的文档注释,通过三对双引号定义,文档只是起到函数功能说明。
- 函数的代码行长度不能太长,一般不超过79字符。
- 冒号不能少,这个是格式问题,记住便可。
1.2函数传递参数
1)先举个例子
# 定义一个可以传参数的函数
def desc_human(name,animal):
"""打印输出"""
print(f"{name.title()} love {animal}")
#通过传参调用函数
desc_human('max','cat')
desc_human('jack','fish')
上面定义了一个desc_human函数,其包含两个参数,被称作形参,反正理解就行,不必深究概念。
2)实参和形参
就像上面的例子,name,animal就是形参,而调用函数的时候,赋值的‘max’,'cat’就是实参。
2.函数传递实参
2.1位置参数
通过上面的例子,我们知道了函数是怎么传递参数的,这里就看下什么是位置参数。
其实上面两个参数的函数desc_human,已经能很好的说明位置参数,这里主要强调两点:
- 传参的时候注意下位置顺序,否则容易出错。
- 可以进行多次调用。
2.2关键字实参
关键字实参就是传递参数的时候,按照名称对的形式传递。这样将名称和值关联起来,就不容易造成混淆了。
def desc_human(name,animal):
print(f"{name.title()} love {animal}")
#通过关键字实参调用函数
desc_human(name='john',animal='bird')
2.3默认值
编写函数的时候,可以给形参指定默认值,这样,在调用的时候,如果该形参不指定实参就通过默认值作为实参。
def desc_human(name,animal = 'dog'):
print(f"{name.title()} love {animal}")
#调用函数,仅赋值name
desc_human('wow')
2.4传递列表
前面都是学习的都是传递简单的参数,现在学习向函数传递列表,参数传递的原理都是一样的,无论传递什么样的参数,都是为了处理相关数据。
def greet_users(names)