zoukankan      html  css  js  c++  java
  • python变量

    1. 系统变量

    (1) '_doc_'

    文件注释,在py中代码最上方""" """里面一般写注释,系统会把文件注释自动存放在'_doc_'这个全局变量里。

    """
    我是注释
    """
    
    print(__doc__)  #我是注释
    

    (2). '_file_'

    存放所在文件的文件路径

    import os
    
    print(os.path.dirname(__file__))    #/Users/morra/Desktop/python/lib
    print(os.path.basename(__file__))   #index.py
    
    
    tmp = os.path.dirname(__file__)
    
    print(os.path.dirname(tmp))         #/Users/morra/Desktop/python/
    print(os.path.basename(tmp))        #lib,返回index.py的上一级目录
    
    

    (3). '_package_'

    当前.py文件所在的文件夹,用.划分,但是当前文件的值是None

    from lib import index
    
    print(__package__)      #None 
    print(index.__package__)        #lib
    

    (4). '_cached_'

    缓存,是一个.pyc的字节码文件

    (5). '_name_'

    from lib import index
    
    print(__name__)     #__main__
    print(index.__name__)       #lib.index
    

    主文件在调用主函数之前,必须加下列判断:

    if __name__ == '__main__':
        exec ()
    

    (6). '_builtins_'

    存放内置函数

    for i in dir(__builtins__):     #查看系统内置函数和变量
        print(i)
    

    (7). python下划线总结

    总结一下Python中下划线的特殊用法:
    xxx:不用'from module import *'导入
    _xxx
    :系统定义的名字
    __xxx:类中的私有变量名

    2. 变量作用域

    当全局变量和局部变量同名的时候,遵循“内层屏蔽外层”的原则,因此此处只有局部变量生效。

    def f(x):
        global a
        print(a)
    
        a = 5
        print(a + x)
    
    
    a = 3
    f(8)
    print(a)
    
    OUTPUT:
    3
    13
    5
    

    在程序设计中我们一般要求,模块的内置性要强,跟其他模块的耦合性要弱,所以一般情况下我们不使用全局变量,除非使用它了之后对程序的性能有较大的提升。

  • 相关阅读:
    linux shell编程学习笔记(二) --- grep命令
    linux shell编程学习笔记(一)---通配符,元字符
    正则表达式
    leetcode problem 37 -- Sudoku Solver
    leetcode problem 33 -- Search in Rotated Sorted Array
    linux 终端快捷键
    linux中的sticky bit
    集中不等式
    Python os模块实例之遍历目录及子目录指定扩展名的文件
    Python模块之ConfigParser
  • 原文地址:https://www.cnblogs.com/whatisfantasy/p/6014518.html
Copyright © 2011-2022 走看看