Python基础(10贰) 类私有成员和保卫安全成员

python中的protected和private

python中用

_var
;变量名前一个下划线来定义,此变量为保障成员protected,只有类及其子类能够访问。此变量无法通过from
XXX import xxx 导入

__var;变量名前七个下划线来定义,此变量为私有private,只允许类本人访问,连子类都不得以访问。

 

class perent_class(object):
    def __init__(self,name,protected,private):
        self.name = name
        self._protected = protected
        self.__private = private

 

Linux and
python学习沟通一,二群已满.

Linux and
python学习调换叁群新开,欢迎出席,一起学习.qq 叁群:5632278玖四

不前进,不倒退,结束的气象是未有的.

1同前进,与君共勉,

 

前天不难看了看Python中的面向对象的有个别科目,简单记录下,和Java中如故有比比皆是接近的
看的是其①博客:访问限制

譬如说大家定义1个Student类
一个init构造函数,早先化一个属性,1个名字,叁个成就;
还有贰个打字与印刷函数,输出学生的名字和成绩

class Student(object):

    def __init__(self, name, score):
        "initial student"
        self.name = name
        self.score = score

    def print_score(self):
        "print student info"
        print '%s : %s' %(self.name, self.score)

s1 = Student('lufei' , 99)
s1.print_score()

掌握Java的校友都明白,大家1般定义实体类的话,一般都以private,然后定义get、set方法,
一经只是上边包车型客车代码,大家就可以随便的调用name和score了
我们需求添加限制

def __init__(self, name, score):
    "initial student"
    self.__name = name
    self.__score = score

大家在变量前边加上“__”就能够了

图片 1

假若我们要引用的话,就会报错了,同样的,大家也得以加上get、set方法来采用

def get_name(self):
        return self.__name

def set_name(self,name):
    self.__name=name

print s1.get_name()

s1.set_name('libai')
print s1.get_name()

图片 2

原稿还有众多别样内容,大家能够自动看看,小编就简单记录这个

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图