一,函数的说明文档
给函数中得代码做解释说明——用三个引号包括 ''' '''
def a():
'''
定义一个函数 a ,设定内容 b ,同 for循环的range函数 使内容 b 循环200次
:return:
'''
b = '你好世界'
for i in range(200):
print(b, f'第{i + 1}次打印')
a()
二,函数的嵌套
函数内部调用其他函数
def a():
print('我是函数 a')
# 在函数 a 中调用函数 b
b()
def b():
print('我是函数 b ')
# 调用函数 a
a()
三,函数的作用域——分两种
全局变量是指:定义在代码文件或模块顶层的变量,可以被整个程序的所有函数、类和模块访问。
局部变量是指:定义在函数内部或代码块内部的变量,只能在其所在的代码块中进行访问。
# 变量 a 全局作用域
a = 100
# 定义一个 textA
def textA():
# 变量 b 局部作用域
b = 20
# 变量 a 在全局作用域,可以访问
print(a)
# 变量 b 在局部作用域,访问不到,所以报错
print(b)
global——使用 global 可以在函数内部声明变量为全局变量
money = 10 # 全局变量
# 定义两个变量 textA,textB
def texta():
global money1 # global 将 局部变量 转为 全局变量
money1 = 200 # 局部变量
print(money)
def texta():
print(money1)
texta()
texta()
四,闭包——什么是闭包
函数中 定义一个函数,调用当前函数时会返回内部函数的值
定义一个包含内部函数的外部函数来封装变量和逻辑块,调用当前函数时会返回内部函数值
def func(): # 定义一个函数
def func1(): # 嵌套一个函数,也称内部函数
return "我是 func 的内部函数 func1" # return 返回函数值
return func1()
# 调用func时,打印func1的值
print(func())
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
我是 func 的内部函数 func1
Process finished with exit code 0
例:
def func(x): # x 为形参
def func1():
return 'hello' + x # 返回 hello + x 的实参 Word 的值
return func1 # 返回内部函数的值
# 调用当前函数 会返回内部函数的值
print(func('word')()) # word 为实参 加()就是调用 调用函数 func
F:\python\python.exe "D:\muyi\my python\练习"
helloword
进程已结束,退出代码0
例:
# 闭包
"""
定义一个函数,在函数内部在定义一个函数
当调用函数时,会返回内部函数的值
加()就是嗲用
"""
def demo(a): # 定义一个函数 a 为形参
def func(): # 定义一个内部函数
return '你好!'+ a # 内部函数的返回值,也是闭包的返回值
return func() # 调用函数,返回内部函数值
# 调用函数 并赋予实参给形参 a
print(demo('木易'))
print(demo('我是木易'))
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
你好!木易
你好!我是木易
Process finished with exit code 0