私有属性详解。

 

        私有属性指的是这个属性只能在对象内部被调用,在当前对象的往外面调用就会抛出异常。这里的当前对象可以是类实例,也可以是模块对象。

        Python定义私有属性的方式很简单,只需要在定义变量,方法时在名称前加上单下划线或者双下划线即可。具体可分为以下几种情况。

        1. _name——对象和子类可以访问,但不可以导入。

        2. __name——双下划线开头的为私有属性,对象和子类也不能访问。

        3. __name__——前面双下划线,一般为系统预定义的私有属性。

        下面请看案例

        从示例的调用结果可以看出,单下划线开头的私有属性与普通属性的使用方式没有区别,因为单下划线开头的私有属性主要限制import语句的导入;而双下划线开头的私有属性则不能直接访问,只能通过内部方法间接访问。

        Python中的双下划线方法之所以不能被直接访问,是因为Python解释器会自动修改双下划线开头的方法名称,修改后的名称格式为:_[类名][原私有成员名称]。例如上面的__name属性,实际上会被修改为_Person__name。具体可以使用__dir__来查看对象具有的属性。如果非要直接访问该私有属性,可以直接访问修改过后的属性名称。

        

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值