python 类的使用(7)之类的私有属性和方法 (类中以单下划线或双下划线开头的变量名或函数名)

在python中有时候会发现别人写的代码中会有一些函数或者变量是以下划线开头的,这些情况又主要出现在类中,其中既有单下划线,也有双下划线,这种以下划线开头的函数或者变量实际上就是代表“私有”的意思,在python中私有变量不需要额外的像其它某些语言中还需要使用private关键词,在python中使用下划线开始命名类中的函数或者变量即可表示私有。那么单下划线和双下划线开头的具体意义以及区别分别是什么呢?若有兴趣请看本文细细为您分析!

附上类使用专栏的其它文章的链接:


以单下划线开头的函数或变量(类中)

以单下划线开头的函数或者变量实际上是伪私有,在类中定义的加单下划线的函数或者属性都是可以被类外部所访问到的。以单下划线开头的函数或变量的意义对我们来说就是虽说其能够被访问,但是最好不要访问(这种伪私有属性或方法的含义就是告诉我们使用这个类的人最好不要直接调用它)。

举个简单的例子:

class Animal:
    _type = 'cute'
    # 定义了一个以单下划线开头的类属性
    def __init__(self):
        self._age = 3
        # 这里也有一个以单下划线开头的类属性
        self.name = 'xiaobai'
    
    def _show_info(self):
    # 定义了一个以单下划线开头的函数
        return self.name, self
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值