学习笔记(01):Python入门视频精讲-变量作用域和命名空间

立即学习:https://edu.csdn.net/course/play/9347/195828?utm_source=blogtoedu

两种作用域:全局作用域和局部作用域(函数作用域)

1.全局作用域:函数以外的作用域都是全局作用域,在全局作用域中定义的变量全部是全局变量。

2.函数作用域也称为局部作用域。

在函数内部的区域,没调用一次函数就会创建一个新的函数作用域,在函数作用域中作用的变量就是局部变量。

 

关于变量的查找顺序

先在当前的作用域中找,如果没有则向上一级作用域中查找,直到全局作用域中查找,都没有则报错。

 

a = 5 (全局变量)

 

if True:

     c = 5(这也是一个全局变量)

 

def  fn()

       b = 8(局部变量)

       print{‘函数内部:a =’, a}

       print{‘函数内部:b =’, b}

 

fn()

 

结果:函数内部:a = 5

           函数内部:b = 8

(全局变量在函数内外都可以直接应用)

 

 print{‘函数外部:a =’, a}

 print{‘函数外部:b =’, b}


结果:错误,因为b变量没有定义。

 

print{‘函数外部:c =’, c}

 

x = 1

def  f1():

       x = 2

       def  f2():

              x = 3

              print (x)

 

def  fn2():

       a = 10(在函数为变量赋值时,均默认是为局部变量赋值)

       global  a = 10(如果你想在函数中修改全局变量的值,要使用global关键字来声明变量)

      print{‘函数内部:a =’, a}

fn2()

print{‘函数外部:a =’, a}

结果(若不用global关键字来声明):函数内部:a = 10

函数外部:a = 5

 

结果(若不用global关键字来声明):函数内部:a = 10

函数外部:a = 10

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值