零基础入门学习Python(17):对象(2)

零基础入门学习Python(17):对象(2)

在Python类中定义私有属性只需要在变量名或函数名前加上”__”两个下划线,那么这个属性或方法就成为私有的了。外部不能访问类中的私有属性,可以通过类的公有方法访问

>>> class Test:
        __name = 'Jessica'       #在外部将变量名隐藏,可以通过调用方法从内部获取私有变量
        def getName(self):
            print("The name is ",self.__name)
            return self.__name

>>> test1 = Test()
>>> name1 = test1.getName()
The name is  Jessica
>>> name1
'Jessica'

但是,在Python中,私有变量会被自动改成_类名__变量名的形式,即就目前,Python的私有机制其实是伪私有,所以,Python的类是没有权限控制的,变量是可以被外部调用的

>>> test1._Test__name
'Jessica'

下面简单介绍一个魔法方法,魔法方法即能够在恰当的时候被自动调用的方法,被双下划线包围。
__init__(self,param1,param2,…)
实例化对象时可以传入参数,生成实例化对象时就存在了。

>>> class Test2:
        def __init__(self,name):
            self.name = name     #Python中的self就相当于C++中的this
        def getName(self):
            print("My name is %s,I am playing... " % self.name)

>>> test2 = Test2('xiuxiu')       #生成实例对象时把参数也传递进去
>>> test2.getName()
My name is xiuxiu,I am playing...

零基础入门学习Python(16):对象(1)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值