一、函数的定义与调用
1.1、函数的定义与调用
定义:具有独立功能的代码块组成的一个模块。
定义格式:
def 函数名():
代码
调用:
函数名()
示例:
def add():
a = 10
b = 20
print("这两个数的和是%s" % (a+b))
add()
"""
运行结果为:
这两个数的和是30
"""
注意:如果只是定义函数,而不调用,那么这个脚本是不会执行该函数的。
1.2、函数文档说明
函数的文档说明: 在定义函数时,添加的字符串信息;当用help查看函数时,才会显示出文档说明。
用法:
def sum():
"这是两个数相加"
a = 4
b = 8
print("%s" % (a+b))
help(sum)
"""
运行结果为:
sum()
这是两个数相加
"""
二、函数的参数与返回值
2.1、函数的参数
函数参数: 定义函数时在小括号内添加多个参数名字,调用函数时在小括号内加入要传递的参数的值。
形参之间或实参之间用逗号进行间隔。
定义格式:
def 函数名(参数名1, 参数名2, .....):
函数执行代码
函数执行代码
.........
调用格式:
函数名(值1, 值2, ......)
示例:
def add(num1, num2):
a = num1
b = num2
c = a + b
print(c)
add(1, 2)
"""
运行结果为:
3
"""
调用过程: python函数的调用传参过程与C语言的传参过程相似都是单向传递的,调用函数时,实参传递给形参,形参的改变不会影响实参变量。
2.2、函数的返回值
返回值: 函数完成所有操作后,可以返回结果给调用者
在函数中把结果返回给调用者,需要在函数中使用return。
返回值的格式:
def 函数名(参数名1, 参数名2, .....):
函数执行代码
函数执行代码
.........
return 结果值
调用:
存放返回值变量 = 函数名(参数值1, 值2, ........)
注意:函数调用时,实参的数量需要于形参的数量保持一致。
示例:
# 定义函数
def sum1(a, b):
return a + b
# 调用函数,顺便保存函数的返回值
num = sum1(1, 1)
# 因为num已经保存了sum1的返回值,所以接下来就可以使用了
print(num)
"""
运行结果为:
2
"""
三、函数类型
函数类型:
- 无参数,无返回值
此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数。- 无参数,又返回值
此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数。- 有参数,无返回值
此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数。- 有参数,有返回值
此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数。(最常用)
示例:
# 无参数,无返回值
def demo1():
print("这是一个无参数,无返回值的函数")
# 无参数,有返回值
def demo2():
return 1
# 有参数,无返回值
def demo3(a, b):
print("%d" % (a + b))
# 有参数,有返回值
def demo4(a, b):
num = a + b
return num
四、函数嵌套使用
函数嵌套: 在一个函数中定义了另外一个函数,这就是所谓的函数嵌套调用。
函数嵌套:
def 函数A(参数, ........):
执行语句
......
def 函数B(参数, ......):
执行语句
函数A(参数值1,........)
......
在函数内部定义的函数要在函数内部调用,不能在函数外部直接调用。
示例一:函数内的函数可以不引用外部变量
def demo1():
print("demo1")
def demo2():
print("demo2")
demo2()
demo1()
"""
运行结果为:
demo1
demo2
"""
示例二:函数内的函数可以引用外部变量
# 方式一
def demo1(x):
def demo2(y):
return x*y
return demo2
print(demo1(2)(3))
"""
运行结果为:
6
"""
# 方式二
def demo1(x):
def demo2(y):
return x*y
return demo2(3)
print(demo1(2))
"""
运行结果为:
6
"""
注意:函数可以对全局变量可以进行引用,但如果对int或者str型全局变量进行修改,需要先在函数内,声明其为global或nonlocal。如果是list或者dict,则可以直接修改。
五、参考资料
[1]:Python函数中定义函数