python —函数的说明文档、作用域以及嵌套和闭包

一,函数的说明文档

        给函数中得代码做解释说明——用三个引号包括    '''   '''

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值