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

来源:互联网 发布:贷款大数据是什么 编辑:程序博客网 时间:2024/05/18 02:27

零基础入门学习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