python 面向对象 私有方法,公有方法

#每天一点点#

python 面向对象 私有方法

私有方法:在方法名字的前边加两个下划线 如 __test1(self)

class Dog:
    def test1(self):
        print('------1------')
    def test2(self):
        print('------2------')
        
dog = Dog()
dog.test1()
dog.test2()

输出结果 ???????
------1------
------2------
输出结果 ???????

私有方法

class Dog:
    def __test1(self):  #在方法名字的前边加两个下划线
        print('------1------')
      
dog = Dog()
dog.test1()

输出结果 ???????
’Dog’ object has no attribute 'test1’
输出结果 ???????

既然私用方法不能直接调用,为什么还要用私有方法呢???
在实际工作中,先调一个公有方法去验证,如果验证通过了,
再去调真正核心的方法(私有方法)

#实例:
class Dog:
    #私有方法 ,后调用
    def __send_msg(self): 
        print('------正在发送短信------')
    #公有方法 ,先验证
    def send_msg(self,new_money):
        if new_money>=10:
            self.__send_msg()
        else:
            print('余额不足,请先充值,再发送短信')
        
dog = Dog()
dog.send_msg(100)
dog.send_msg(5)

输出结果 ???????
------正在发送短信------
余额不足,请先充值,再发送短信
输出结果 ???????

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值