变量的作用域

变量的作用域

  • 讲到了函数就必须介绍变量的作用域相关。
    • 作用域指的是变量的有效范围。变量并不是在哪个位置都可以访问的,访问权限取决于这个变量是在哪里赋值的,也就是在哪个作用域内赋的值。变量在哪个作用域内赋值,则表示该变量的作用域就是该区域,变量只可以在其作用域指定区域被访问。
  • 通常而言,在编程语言中,变量的作用域从代码结构形式来看,有块级、函数、类、模块、包等由小到大的级别。但是在Python中,没有块级作用域,也就是类似if语句块、for语句块、while语句块,with上下文管理器等等是不存在作用域概念的,他们等同于普通的语句。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBJSYeH3-1644595668288)(imgs/44.png)]

  • 核心:

    • 通常,函数内部的变量无法被函数外部访问,但内部可以访问;类内部的变量无法被外部访问,但类的内部可以。通俗来讲,就是内部代码可以访问外部变量,而外部代码通常无法访问内部变量。

    • #下列程序存在的问题是什么?
      age = 10
      def func():
          name = 'bobo'
          print(age,name)
      func()
      print(name) 
      
    • def outer():
          def inner():
              print('i am inner')
          inner() 
          return inner
      
      inner()
      
全局变量和局部变量
  • 局部变量
    • 定义在函数内部的变量拥有一个局部作用域,被叫做局部变量
  • 全局变量
    • 定义在函数外的拥有全局作用域的变量,被称为全局变量。(类、模块等同理)
num = 123 #?
def func():
    email = 'www.123.com' #?
    print(email,num)
func()
  • 注意:
    • 所谓的局部变量是相对的。局部变量也有可能是更小范围内的变量的外部变量。
a = 1 #全局变量
def func():
    b = 2 #局部变量
    print
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值