导航:首页 > 编程语言 > python前后双下划线什么意思

python前后双下划线什么意思

发布时间:2022-12-26 05:15:10

python中的下横线是什么意思

Python中的下横线是什么意思

下划线一般有两种情况:

1、两边都有两个下划线的情况:这一般是指内建预定义属性,这种内建预定义属性。

2、中间一根下划线:这个命名中两个单词的分割线,这个以前OO编程中单词首字母大写差不多一个作用,只不过一般python的模块函数编程会用下划线分割这种方式。

更多技术请关注Python视频教程。

㈡ python中_,__和__X__的区别与作用

x:表示该函数或该成员变量属于类私有,不允许外部调用
x :表示一个变量的名字,只不过单独的x被python内部认为是关键字了,已经被占用,所以用x_表示一个新的变量名.

表示这是该类独有的函数,不允许子类重写
只能在类内部调用

前后都有双下划线,说明它是用于Python调用的

更多内容请戳

㈢ python 变量单下划线和双下划线的区别

1、_xxx 不能用于’from mole import *’ 以单下划线开头的表示的是protected类型的变量。
即保护类型只能允许其本身与子类进行访问。
2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也
不可以
3、__xxx___ 定义的是特列方法。像__init__之类的

㈣ Python中下划线是什么意思

下划线是一个匿名变量

㈤ python中以下划线开头的变量名的含义

_xx:前面单个下划线,私有化属性或方法,变量不能被外部直接调用
__xx:前面两条下划线,私有化属性或方法,无法在外部直接访问,只允许类本身调用
__xx__:前后两条下划线,系统定义名字,对Python 来说有特殊用途
xx_:后面单条下划线,用于避免与Python关键词的冲突

㈥ python变量赋值时,值前面加下划线是什么意思

加一条下划线一般表示私有变量。如果是两边都加两个下划线一般是语言内置变量或方法等。

㈦ python下划线定义属性

类的私有变量和私有方法

在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性

特殊变量命名

1、 _xx 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。若内部变量标示,如: 当使用“from M import”时,不会将以一个下划线开头的对象引入 。

2、 __xx 双下划线的表示的是私有类型的变量。只能允许这个类本身进行访问了,连子类也不可以用于命名一个类属性(类变量),调用时名字被改变(在类FooBar内部,__boo变成_FooBar__boo,如self._FooBar__boo)

3、 __xx__定义的是特列方法。用户控制的命名空间内的变量或是属性,如init , __import__或是file 。只有当文档有说明时使用,不要自己定义这类变量。 (就是说这些是python内部定义的变量名)

在这里强调说一下私有变量,python默认的成员函数和成员变量都是公开的,没有像其他类似语言的public,private等关键字修饰.但是可以在变量前面加上两个下划线"_",这样的话函数或变量就变成私有的.这是python的私有变量轧压(这个翻译好拗口),英文是(private name mangling.) **情况就是当变量被标记为私有后,在变量的前端插入类名,再类名前添加一个下划线"_",即形成了_ClassName__变量名.**

Python内置类属性

__dict__ : 类的属性(包含一个字典,由类的数据属性组成)

__doc__ :类的文档字符串

__mole__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__mole__ 等于 mymod)

__bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)

㈧ python中下划线命名的含义

python中有五种下划线命名;
(1)单前导下划线: var
以单个下划线开头的变量或方法仅供内部使用,但是不强制执行。通过类名.变量名依然可以引用,但是在使用通配符导入模块(from 模块 import *)时,不能调用使用下划线定义的函数,而常规导入(import 模块)是可以调用的。
(2)单末尾下划线:var
当最符合当前函数的变量名被占用,则可以使用_来解决命名冲突。单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突。
(3)双前导下划线:_ var
双下划线前缀会导致Python解释器重写属性名称,以避免子类中的命名冲突。
这也叫做名称修饰(name mangling) - 解释器更改变量的名称,以便在类被扩展的时候不容易产生冲突。
(4)双前导和末尾下划线: var
Python保留了有双前导和双末尾下划线的名称,用于特殊用途。 这样的例子有, init 对象构造函数,或 call --- 它使得一个对象可以被调用。最好避免在自己的程序中使用以双下划线(“nders”)开头和结尾的名称,以避免与将来Python语言的变化产生冲突。
(5)单下划线:
有时候单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的。单个下划线仅仅是一个有效的变量名称,会有这个用途而已。
总结:

参考: Python中下划线的5种含义

㈨ python中,函数名前后的双划线有什么作用

每一个mole都有一个叫__name__的变量,它的值就是mole的名字

比如os.__name__ 是"os",sys模块的__name__是"sys"

__main__也是一个模块,但是这个模块比较特殊,其他的模块都有一个对应的同名py文件,比如os.py, sys.py,这个模块却没有对应的固定名字的py文件,不管你执行 什么.py,它的名字都是__main__。它指的是正在运行的模块,即主模块。

上面说过,每个模块都有__name__这个变量, 那么主模块也不例外,主模块的__name__变量,值就是"__main__"

解释了半天,再说你的问题:__name__和name是两个不同的变量,__name__有定义而name没有定义,使用没有定义的变量就要出错,这没有什么好说的。

例如你写:
if name == '__main__':是一个变量未定义的错误

而当你写 if __name__ == 'main':的时候,由于__name__的值其实是'__main__',所以if的条件为假,不会执行你的代码。

最后,你可以自己写一点测试代码来探索这个问题,文件名就叫test.py,代码也很简单:

print(__name__)
importtest

输出有两行,第一行毫无疑问是__main__,第二行比较有意思,输出是test,因为此时test.py作为一个模块被import其__name__就是"test"。

㈩ 【变量】关于单下划线、双下划线开头变量的含义

以单下划线(_)表明是标准库的变量

双下划线(__) 开头表明是编译器的变量

建议自己在命名的时候不要用下划线开头,避免与标准库中的命名冲突。

Python 用下划线作为变量前缀和后缀指定特殊变量

_xxx 不能用 “from mole import *” 导入

__xxx__ 系统定义名字

__xxx 类中的私有变量名

核心风格:避免用下划线作为变量名的开始

因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。

一般来讲,变量名_xxx被看作是“私有的”,在模块或类外不可以使用,当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。

“单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;

“双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;

以双下划线开头的(__foo)代表类的私有成员;

以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

阅读全文

与python前后双下划线什么意思相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163