0
点赞
收藏
分享

微信扫一扫

python 还有哪些以双下划线开头的内置变量 python __file__ 与 ___path__ 的区别

简单聊育儿 2024-02-08 阅读 12


python 还有哪些以双下划线开头的内置变量 python __file__ 与 ___path__ 的区别_.net

combo是自己写的模块

python 还有哪些以双下划线开头的内置变量

python __file__ 与 ___path__ 的区别

Copilot

在Python中,__file____path__都是内置变量,它们在处理文件和目录路径时非常有用。

  • __file__:这个变量表示当前执行的脚本文件的路径123。如果你在一个模块中引用__file__,那么它将返回该模块所在的文件路径123。这个变量在ipython中不可用2

例如,假设你有一个名为class1.py的文件,其内容如下1

Python

def func1():
    print(__file__)

if __name__ == '__main__':
    func1()

当你运行这个文件时,它会打印出class1.py文件的完整路径1

  • __path__:这个变量只存在于包中。它是一个列表,包含了该包所在的目录的路径。如果你在一个包的__init__.py文件中打印__path__,它将返回一个包含该文件所在目录的路径的列表。

注意:__file__和__path__变量在处理文件和目录路径时非常有用,但是它们可能得到的是一个相对路径。在这种情况下,你可能需要使用os.path模块的函数(如os.path.abspath,os.path.dirname等)来获取绝对路径123。例如,os.path.abspath(__file__)将返回__file__的绝对路径123

了解详细信息

1blog.csdn.net2stackoverflow.com3blog.csdn.net4blog.csdn.net5pythonjishu.com6docs.python.org

还有哪些内置变量

Copilot

Python有许多内置变量,这些变量可以在任何时候使用。以下是一些常见的内置变量:

  • __name__:当一个模块被直接运行时,__name__的值为__main__。如果模块是被导入的,__name__的值则为该模块的名字1
  • __doc__:这个变量包含了模块,函数,类,或方法定义的文档字符串1
  • __package__:这个变量表示当前模块所在的包1

此外,Python还有许多内置函数,如abs(), all(), any(), ascii(), bin(), bool(), breakpoint(), bytearray(), bytes(), callable(), chr(), classmethod(), compile(), complex(), delattr(), dict(), dir(), divmod(), enumerate(), eval(), exec(), filter(), float(), format(), frozenset(), getattr(), globals(), hasattr(), hash(), help(), hex(), id(), input(), int(), isinstance(), issubclass(), iter(), len(), list(), locals(), map(), max(), memoryview(), min(), next(), object(), oct(), open(), ord(), pow(), print(), property(), range(), repr(), reversed(), round(), set(), setattr(), slice(), sorted(), staticmethod(), str(), sum(), super(), tuple(), type(), vars(), zip(), __import__()等2

你可以使用dir(__builtins__)命令查看Python的所有内置变量和函数3。如果你想查看某个内置函数或变量的定义和说明,可以使用help(函数名或变量名)命令4。例如,help(print)会显示print函数的说明4

请注意,这些只是Python内置变量和函数的一部分,实际上Python还有更多的内置变量和函数24

了解详细信息

1bing.com2docs.python.org3py.cn4zhuanlan.zhihu.com5blog.csdn.net6github.com

python 还有哪些以双下划线开头的内置变量

Copilot

Python中有许多以双下划线开头和结尾的内置变量,这些变量通常有特殊的用途。以下是一些常见的例子:

  • __name__:表示模块的名字。如果模块是被直接运行的,__name__的值为__main__。如果模块是被导入的,__name__的值则为该模块的名字1
  • __doc__:包含了模块,函数,类,或方法定义的文档字符串1
  • __package__:表示当前模块所在的包1
  • __file__:表示当前执行的脚本文件的路径234
  • __path__:这个变量只存在于包中。它是一个列表,包含了该包所在的目录的路径234

此外,Python还有一些特殊的方法,它们的名字也是以双下划线开头和结尾的,例如:

  • __init__:类的构造函数,当一个对象被创建时,__init__方法会被自动调用3
  • __str__:定义了当使用str()函数或print打印一个对象时,如何将该对象转化为字符串3
  • __getitem__,__setitem__,__delitem__:用于定义获取、设置、删除元素的行为,使得对象能够支持像列表或字典那样的索引操作3

这些只是Python内置变量和函数的一部分,实际上Python还有更多的内置变量和函数23。你可以使用dir(__builtins__)命令查看Python的所有内置变量和函数。如果你想查看某个内置函数或变量的定义和说明,可以使用help(函数名或变量名)命令3。例如,help(print)会显示print函数的说明3。请注意,这些只是Python内置变量和函数的一部分,实际上Python还有更多的内置变量和函数23

举报

相关推荐

python私有属性单、双下划线区别

Python中的下划线(_)

0 条评论