python中_、__、__xx__(单下划线、双下划线等)的含义

(1)_xxx

"单下划线 " 开始的成员变量相当于受保护的类/成员的变量/函数,只有本类和子类中能使用这些变量/函数。
外部可以也可以调用,比如类属性通过“类名._xxx”, 成员变量可以通过“对象名._xxx”, 这样是不规范的,pycharm中会提示:Access to a protected member _a of a class

(2)__xxx

双下划线开始的是类/成员的私有变量/函数 ,只有本类中可以访问,子类中也不能访问。外部无法通过类/实例调用。

(2)__xx__

系统定义名字,前后均有一个"双下划线"是代表python里特殊方法专用的表示,如__init__()代表类的构造函数。


  1. 以上访问的限制,同样适用于静态方法(@staticmethod)和类方法(@classmethod)。
  2. 直接写在模块中的_xxx和__xxx 变量和函数,通过 from 模块名 import * 不会导入。可以通过 import 模块名, 模块名._xxx 或 模块名.__xxx 的访问到,但这是不规范的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值