首页 > 代码库 > 23.vars():__name__,__file__,__package__,__doc__
23.vars():__name__,__file__,__package__,__doc__
vars()
vars():返回对象object的属性及其值的字典关系表
class Foo: a = 1 def __init__(self): self.name = ‘wuwen‘ self.gender = "male" self.age = 23 foo = Foo() print(vars()) print(vars(Foo)) print(vars(foo)) ‘‘‘ {‘__name__‘: ‘__main__‘, ‘__doc__‘: None, ‘__package__‘: None, ‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x005B84D0>, ‘__spec__‘: None, ‘__annotations__‘: {}, ‘__builtins__‘: <module ‘builtins‘ (built-in)>, ‘__file__‘: ‘D:/pythonProject/2.py‘, ‘__cached__‘: None, ‘Foo‘: <class ‘__main__.Foo‘>, ‘foo‘: <__main__.Foo object at 0x02141410>} {‘__module__‘: ‘__main__‘, ‘a‘: 1, ‘__init__‘: <function Foo.__init__ at 0x02144588>, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Foo‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Foo‘ objects>, ‘__doc__‘: None} {‘name‘: ‘wuwen‘, ‘gender‘: ‘male‘, ‘age‘: 23} ‘‘‘
当vars()参数为空的时候,我们可以认为它返回的是当前.py文件的全局变量的字典关系表,其中有几个尤为重要:
__name__:
在主文件中值等于__main__,其他时候,等于模块名
例1:在程序入口文件中,正常执行了execute函数,通过导入模块的方法并不能执行该函数
__file__ :
获取文件自己的路径
from lib.xx import bbbb print(__file__) print(bbbb.__file__) ‘‘‘ D:/pythonProject/test.py D:\pythonProject\lib\xx\bbbb.py ‘‘‘
__package__ :
当前.py文件所在的文件夹路径,用.划分
from lib.xx import bbbb print(__package__) print(bbbb.__package__) ‘‘‘ None lib.xx ‘‘‘
__doc__ :
获取py文件的注释
from lib.xx import bbbb print(__doc__) print(bbbb.__doc__) ‘‘‘ 这里是当前文件的注释部分 这里是当前文件的注释部分 这里是当前文件的注释部分 这里是当前文件的注释部分 这里是bbbb文件的注释部分 这里是bbbb文件的注释部分 这里是bbbb文件的注释部分 这里是bbbb文件的注释部分 ‘‘‘
23.vars():__name__,__file__,__package__,__doc__
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。