函数的用法和底层分析
函数简介
函数是可重复使用的程序代码块。
- 一个程序由一个个任务组成,函数就是代表一个任务或者一个功能。
- 函数是代码重复使用的通用机制。
python中函数的分类
python中函数分为以下几类:
- 内置函数
例如str(),list(),len() - 标准库函数
例如import语句导入的turtle - 第三方库函数
- 用户自定义函数(重点)
函数的定义和调用
核心要点
python中,定义函数的语法如下:
def 函数名([参数列表])
'''文档字符串'''
函数体/若干语句
要点:
- 使用def来定义函数
(1)python执行def时,会创建一个函数对象,并绑定到函数名变量上。 - 参数列表
(1)圆括号内是形式参数列表,有多个参数则使用逗号隔开
(2)形式参数不需要声明类型,也不需要指定函数返回值类型
(3)无参数,也必须保留空的圆括号
(4)实参列表必须与形参列表一一对应 - return返回值
(1)如果函数体中包含return语句,则结束函数执行并返回值
(2)如果函数体中不包含return语句,则返回None值 - 调用函数之前,必须要先定义函数,即先调用def创建函数对象
(1)内置函数对象会自动创建
(2)标准库和第三方库函数,通过import导入模块时,会执行模块中的def语句
形参和实参
形式参数是在定义函数时使用的,形式参数的命名只要符合“标识符”命名规则即可,简称“形参”。
在调用函数时传递的参数称为“实际参数”,简称“实参”。
例如在定义printMax(a,b)函数中a,b为形参,在调用函数时printMax(10,20)中10,20为实参。
文档字符串(函数的注释)
程序的可读性最重要,一般在函数体开始的部分附上函数定义说明,这就是“文档字符串”,也称为“函数的注释”。
通过三个单引号或者三个双引号来实现,中间可以加入多行文字进行说明。
可以通过help(函数名.doc)可以打印输出函数的文档字符串。
def print_star(n):
'''根据传入的n,打印多个星号'''
print('*'*n)
help(print_star,__doc__)
return返回值
- 如果函数体中包含return语句,则结束函数执行并返回值,若没有值,则返回None值
- 如果函数体中不包含return语句,则返回None值
- 要返回多个返回值,使用列表,元组,字典,集合将多个值“存起来”即可
def test01(a,b,c):
return [a*10,b*10,c*10]
print(test01(10,20,30))
def abc():
print("hhhhhhh")
return #如果函数体中包含return语句,则**结束函数执行**并**返回值**,若没有值,则返回None值,如果函数体中不包含return语句,则返回None值
print("kkkkk")
print(abc())
函数也是对象
python中,“一切都是对象”。实际上,执行def定义函数后,系统就创建了相应的函数对象。
def abc():
print('hhhhh')
c=abc
print(c())
print(id(abc))
print(id(c))
print(type(c))