1 函数的定义
函数是一段具有特定功能的、可复用的语句组。python中函数用函数名来表示,并通过函数名进行功能调用。它是一种功能抽象,与黑盒类似,所以只要了解函数的输入输出方式即可,不用深究内部实现原理。函数的最突出优点是:
实现代码复用:减少重复性工作
保证代码一致:只需要修改该函数代码,则所有调用均能受影响
在python中可以把函数分为:系统自带函数、第三方库函数、自定义函数。需要重点掌握的是「自定义函数」。
自定义函数
自定义函数语法:
def 函数名([参数列表]):
函数体
return语句
# 示例
def add1(x):
x = x + 1
return x
函数通过「参数」和「返回值」来传递信息,并通过「参数列表」和「return语句」实现对两者的控制,详见下图:
注意事项:
函数定义时无需声明形参类型(由调用时的实参类型确定);也无需指定返回值类型(由return语句确定)
自定义函数即使没有任何参数,也必须保留一队空括号()
括号后面的冒号(:)必不可少
函数体相对于def关键字必须有缩进关系
python允许嵌套定义函数
return语句作用是结束函数调用,并将结果返回给调用者
return语句是可选的,可以出现在函数体任意位置
无return语句、有return语句没有执行、有return语句而没有返回值三种情况,函数都返回None
2 函数的调用
在定义好函数之后,有两种方式对其进行调用:
从本文件调用:直接使用函数名 + 传入参数,如add1(9)
从其他文件调用:这种方法有两种实现手段
先指定文件路径 + import 文件名,再用文件名.函数名(参数列表)调用
先指定文件路径 + from 文件名 import 函数名,再用文件名.函数名(参数列表)调用
# 从本文件调用
def add1(x):
x = x+2
return x
add1(10)
# 从其他文件调用:从名为addx的文件调用已经定义好的add1函数
import os
os.chdir('D:\\data\\python_file')
# 从其他文件调用方法1
import addx
addx.add1(4)
# 从其他文件调用方法2
from addx import add1
add1(9)
3 函数的参数
3.1 形参与实参
从上面可知,函数最重要的三部分就是参数、函数体、返回值,而参数分为形参和实参:
形参:定义函数时,函数名后面圆括号中的变量
实参:调用函数时,函数名后面圆括号中的变量
注意事项:
形参只在函数内部有效,一个函数可以没有形参,但必须有括号()
通常修改形参不影响实参;但如果传递给函数的是「可变序列」(列表、字典、集合),修改形参会影响实