Andrés Muñoz Asked: 2020-02-26 23:48:24 +0800 CST 2020-02-26 23:48:24 +0800 CST 2020-02-26 23:48:24 +0800 CST _name __name 或 __name__ 在 python 中的用途和意义是什么? 772 是什么意思; 下划线、双下划线等?在python中命名对象时? python 2 Answers Voted Darkhogg 2020-02-27T00:03:34+08:002020-02-27T00:03:34+08:00 _nombre(带有单个下划线的前缀):表示名称供内部使用。导入带有 的模块时from m import *,不会导入以 开头的名称_。 它还用于类中,以表明某个方法是供内部使用的,而不是公共 API 的一部分,但这是约定俗成的,语言没有赋予任何特殊含义。 __nombre(前缀带双下划线,最多一个后缀下划线):表示某个类的某个成员是私有的,并通过名称修饰将名称转换为_clase__nombre,其中 class 是当前类的名称。 名称转换的目的是避免意外,例如从具有“私有”属性或方法的类继承时。在任何情况下,它都不会阻止其覆盖或访问。 __nombre__(前缀和后缀带双下划线):表示它是一个神奇的名字。通常,这些是在语言中具有特殊含义或行为的特殊变量或方法。 永远不要定义自己的魔法名称,只需按照文档说明使用它们。 您可以在PEP 8中找到这些约定。 Best Answer Jorgesys 2020-02-27T08:08:09+08:002020-02-27T08:08:09+08:00 这可以在文档中找到, Python:命名样式(英文) 描述 Darkhogg 评论的地方 此外,以下带有初始或结尾下划线的特殊形式被识别(这些通常可以与任何约定组合): _single_leading_underscore:弱“内部使用”指标。例如:from M import *不要导入名称以下划线开头的对象。 single_trailing_underscore_:按惯例使用以避免关键字冲突Python,例如 Tkinter.Toplevel(master, class_='ClassName') __double_leading_underscore:命名类属性时,调用名称重命名(在 FooBar 类中,强制转换__boo为_FooBar__boo;)。 __double_leading_and_trailing_underscore__:存在于用户控制的命名空间中的“神奇”对象或属性。例如:__init__,__import__或__file__。永远不要发明这样的名字;仅按记录使用它们。
_nombre
(带有单个下划线的前缀):表示名称供内部使用。导入带有 的模块时from m import *
,不会导入以 开头的名称_
。它还用于类中,以表明某个方法是供内部使用的,而不是公共 API 的一部分,但这是约定俗成的,语言没有赋予任何特殊含义。
__nombre
(前缀带双下划线,最多一个后缀下划线):表示某个类的某个成员是私有的,并通过名称修饰将名称转换为_clase__nombre
,其中 class 是当前类的名称。名称转换的目的是避免意外,例如从具有“私有”属性或方法的类继承时。在任何情况下,它都不会阻止其覆盖或访问。
__nombre__
(前缀和后缀带双下划线):表示它是一个神奇的名字。通常,这些是在语言中具有特殊含义或行为的特殊变量或方法。 永远不要定义自己的魔法名称,只需按照文档说明使用它们。您可以在PEP 8中找到这些约定。
这可以在文档中找到,
Python:命名样式(英文)
描述 Darkhogg 评论的地方