Python3 函数学习笔记03——函数进阶

函数的作用域

作用域:变量的访问权限,全局变量所在的位置在全局作用域,局部变量所在的位置仅在局部作用域。
函数内部可以直接访问其外部的变量,但函数外部不能直接访问其内部的变量。如果函数外部需要访问函数内部的变量,需函数内部把相应的变量以return返回出来。

"""
全局作用域与局部作用域
"""
a = 10  # 全局变量 -> 全局作用域
print(a)

def func():   # 全局的一个函数
    b = 20   # 局部变量 -> 局部作用域
    print(a)
func()
print(b)	# 此时不能直接访问变量b

def func3():
    func()	# 访问全局函数
func3()
"""
函数外部需要访问函数内部的变量
"""
def func():
    c = 10
    return c

c1 = func()
print(c1)

函数的嵌套

函数相当于一个变量,可以作为返回值进行返回,也可以作为参数进行互相传递。
函数名实际上就是一个变量名, 都表示一个内存地址。

"""
函数可以被其它的函数调用
"""

def func1():
    pass

def func2():
    func1()  # 此时是函数的调用,并非函数嵌套

func2()
"""
函数的嵌套
"""
def func1():
    b = 20
    def func2():  # 函数的嵌套,相当于局部变量
        pass
    # func2 = def():
    print(b)
    func2()  # 局部变量一般都是在局部作用域中被访问
print(func1())
"""
嵌套函数的运行顺序
"""
def func1():
    print(123)			# (1)
    def func2():
        print(456)		# (3)
        def func3():
            print(789)	# (5)
        print(1)		# (4)
        func3()
        print(2)		# (6)
    print(3)			# (2)
    func2()
    print(4)			# (7)

func1()

""" 运行结果
123
3
456
1
789
2
4
"""
"""
函数可以作为返回值进行返回,也可以作为参数进行互相传递
"""
def func():
    def inner():
        print(1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值