zoukankan      html  css  js  c++  java
  • 作用域和名称空间

    名称空间: 用来存放名字(变量, 函数名, 类名, 引入的模块名)的

    1. 全局名称空间: 我们在py文件中自己写的变量, 函数.....
    2. 内置名称空间: 我们python解释器提供好的一些内置内容(print, input....)
    3. 局部名称空间: 在我们执行函数的时候.会产生一个局部名称空间. 放的是: 函数内部的内容(变量, 函数,类...)

    名称空间可能会有无数个, 局部名称空间而言. 相对是独立的.一般互不干扰

    作用域:
    1. 全局作用域: 内置+全局
    2. 局部作用域: 局部

    globals() 查看全局作用域
    locals() 查看当前作用域

    # a = 10
    #
    # lst = [1,2,3,4]
    #
    # # 内置函数
    # print("你好啊,我叫赛利亚")
    #
    # def chi():
    #     a = 10
    #     b = 20
    #
    #
    # # 如果不调用chi() chi中的a和b都不会创建
    # # 如果调用了chi() 会创建a,b
    # chi()
    
    # def chi():
    #     a = 10
    #     print(a)
    #
    # chi()
    # print(a) # 报错
    
    # def print(b):
    #     pass
    #
    # a = 10
    # def chi():
    #     print(a)
    #
    # chi()
    
    # 从全局去找局部 -> 找不到
    # 局部去找全局 -> 可以找到
    
    # 怎么查看全局和局部中的内容
    # a = 10
    # b = 20
    #
    # def 今天又是星期五():
    #     pass
    #
    # # 查看全局作用域中的内容
    # print(globals()) # globals 全局作用域: 内置+全局名称空间
    # '''
    # {'__name__': '__main__', '__doc__': None, '__package__': None,
    # '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000000265C080>,
    # '__spec__': None, '__annotations__': {},
    # '__builtins__': <module 'builtins' (built-in)>, => print, input open
    # '__file__': 'D:/python_workspace_s18/day10 函数的进阶/04 名称空间和作用域.py',
    # '__cached__': None,
    # # 自己写的. 全局
    # 'a': 10, 'b': 20, '今天又是星期五': <function 今天又是星期五 at 0x0000000001D42E18>}
    # '''
    #
    
    def chi():
        a = 20
        b = 30
        print(locals()) # 查看当前作用域中的内容
        print(globals()) # alex,老男孩儿, 武sir, 全局作用域中的内容
    chi()
    
    # print(locals()) # 全局
    # print(globals()) # 全局
    

      

  • 相关阅读:
    jquery的图片异步加载
    thinkphp3.1的验证码
    android的edittext设置输入限制,只能输入数字
    android,安卓get请求的提交以及我遇到的异常
    android安卓开发基础小笔记,添加按钮事件,打开新窗体,窗体传值,回传
    php正则表达式函数
    php对浮点数小数取整,php除法取整数
    php数组全排列,元素所有组合
    javascript数组全排列,数组元素所有组合
    spring 配置中相关属性的含义:
  • 原文地址:https://www.cnblogs.com/YangWenYu-6/p/10098516.html
Copyright © 2011-2022 走看看