码迷,mamicode.com
首页 > 其他好文 > 详细

函数的命名空间和作用域

时间:2018-10-05 20:19:57      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:put   查找   color   第三方   global   def   bsp   个人   常用   

#命名空间

  内置命名空间

    是随着python解释器的启动随之加载到内存中,不需要任何第三方的干扰  

    是python解释器内置的

  全局命名空间

    是个人所写的所有代码的变量或者函数

    它可以在全局或者局部读取运行

  局部命名空间

    是个人写在函数内部的代码,只可以在调用这个函数使用

    随着这个函数的结束也将从内存中释放掉

命名的变量名字可以是任何(部分不可以)关键字,

例子:def input():

  print(‘ssss’)

input()

局部空间找不到的代码会去全局找 全局找不到的会去内置找 内置找不到会报错    然而内置不能去全局或者全局去局部找,更不能跳级找

  

作用域

  全局作用域

    它可以调用全局或者内置的函数或者变量

    ‘global’  #声明全局变量   #:‘globals’查找全局变量  不管把它放在函数内部或者外部都是查找全局变量

  局部作用域

    它只能调用这个函数本身的函数或者变量

      ‘nonlocal’ #  :它是声明局部变量  ’locals‘  #把它放在某个函数内部才查找某个函数内部所有变量  如果把它放在全局位置则它查找全局变量

      ’locals‘和’globals‘这俩方法不经常用 需要知道它

例子:

a = 1        
b = 2
def func():
x = ‘sss‘
y = ‘fff‘
print(locals())
print(globals())
func()
print(locals())
print(globals())

函数的命名空间和作用域

标签:put   查找   color   第三方   global   def   bsp   个人   常用   

原文地址:https://www.cnblogs.com/yuexijun/p/9745686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!