首页 > 试题广场 >

4 [问答]简单解释Python中以下划线开头的变量...

[问答题]
简单解释Python中以下划线开头的变量名特点。
_x:保护变量,禁止通过from module import _x导入该对象
__x:私有化变量,避免与子类属性命名冲突,无法在外部直接访问,无法继承
__x__:用户名的魔法属性,不能自己定义
xx_:用于避免和python关键词冲突
编辑于 2019-04-24 14:42:35 回复(0)
一个下划线开头,保护变量;两个下划线开头,私有变量;
发表于 2018-09-24 20:32:50 回复(0)

 "单下划线"

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

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

 "双下划线"

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

 例子:以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

发表于 2019-07-16 10:27:17 回复(0)
一个下划线,保护变量,要将其看成私有变量对待 两个下划线,私有变量,除了类中可以调用和修改,实例化一个对象时,不可以对私有变量进行调用和修改,因其是受保护的,如果实在是需要外部实例对其调用和修改,需要在类中定义set和get方法或者使用@property foo (相当于get方法) @foo.setter (相当于set方法)
发表于 2019-02-13 23:22:59 回复(0)
加下划线为私有属性或方法,python中只是将其换了个名字而已
发表于 2018-11-04 19:03:58 回复(0)
一个下划线保护变量,两个下划线私有变量,私有变量不能随意修改
发表于 2018-09-26 07:17:12 回复(0)