zoukankan      html  css  js  c++  java
  • __file__、__name__、__dict__方法整理

    本文主要介绍__file__、__name__、__dict__三个方法的作用。

    #01  __file__:打印当前文件的位置。
    # import os
    # print(__file__)  # 在pycharm执行时默认加上绝对路径
    # print(os.path.dirname(__file__))   # 打印当前文件的上一层目录(dirname是返回文件/文件夹所在的上层目录)
    
    #02  __name__:如果是在当前文件执行__name__=__main__,如果当前文件被其他文件调用,则__name__ = 该文件名
    # print(__name__)
    # def test():
    #     print("we are in %s"%__name__)
    # if __name__ == '__main__':
    #     test()
    
    #03 __dict__:python中的类,都会从object里继承一个__dict__属性,这个属性中存放着类的属性和方法对应的键值对,实例化__dict__会直接输出__init__中的self.xxx
    #03 __dict__:查询类中所有的内容(包括静态属性、动态方法),类名.__dict__

    class A(object): """ Class A. """ a = 0 b = 1 def __init__(self): self.a = 2 self.b = 3 def test(self): print ('a normal func.') @staticmethod def static_test(self): print( 'a static func.') @classmethod def class_test(self): print ('a calss func.') obj = A() print (A.__dict__) print (obj.__dict__) ''' 运行结果: {'a': 0, '__module__': '__main__', 'b': 1, 'class_test': <classmethod object at 0x00000000021882E8>, '__dict__': <attribute '__dict__' of 'A' objects>, '__init__': <function __init__ at 0x00000000023A5BA8>, 'test': <function test at 0x00000000023A5C18>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': ' Class A. ', 'static_test': <staticmethod object at 0x00000000021881C8>} {'a': 2, 'b': 3} ''' ''' 总结:   1) 内置的数据类型没有__dict__属性。   2) 每个类有自己的__dict__属性,就算存着继承关系,父类的__dict__ 并不会影响子类的__dict__。   3) 对象也有自己的__dict__属性, 存储self.xxx 信息,父子类对象公用__dict__。 4) int, list, dict等这些常用的数据类型是没有__dict__属性的。 5) python中的类,都会从object里继承一个__dict__属性,这个属性中存放着类的属性和方法对应的键值对。 6) 类的__dict__并不包含其父类的属性。 7) 实例__dict__存有与实例相关的实例变量和函数,实例__dict__下self.xxx的属性值,其他的都是不输出。 '''
  • 相关阅读:
    Linux内核学习笔记(6)-- 进程优先级详解(prio、static_prio、normal_prio、rt_priority)
    Cuteftp连接虚拟机Centos7
    Linux内核学习笔记(5)-- 进程调度概述
    Linux内核学习笔记(4)-- wait、waitpid、wait3 和 wait4
    Linux内核学习笔记(3)-- 进程的创建和终结
    Linux内核学习笔记(2)-- 父进程和子进程及它们的访问方法
    Linux内核学习笔记(1)-- 进程管理概述
    汇编基础--标识符、标号、伪指令和指令
    JAVA学习笔记--正则表达式
    JAVA学习笔记--字符串概述
  • 原文地址:https://www.cnblogs.com/mayugang/p/10038939.html
Copyright © 2011-2022 走看看