python之访问限制
上一篇 /
下一篇 2017-07-20 22:06:45
本就还是菜鸟级
软件测试一枚,本就对接触过的知识容易遗忘,现意识到时刻
记录和总结自己理解和掌握的知识的重要性。所谓检验学习的效果,无非就是对比学习前后自己的认知和行为是否有了变化。
今天在学python时,纠正了自己一个傻白的认识:
class Person(object):
def __init__(self, name, score):
self.name = name
self.__score = score
p = Person('Bob', 59)
__init__()括号中的name,score是形参 ,而self.后面的name和__score是类属性,属性与形参命名无关联
p = Person('Bob', 59)#类的实例化,将类实例化了一个对象p,p就是一个类变量。
只有双下划线开头的属性才不能被外部访问,单下划线和开头结尾都是双下划线类似'__job__'是可以被外部访问的
__score属性不能被外部访问,就会报异常AttributeError,为了跳过异常,不影响程序继续执行,可以使用try...except语句
try:
语句1#
except <名字>,<数据>:
语句2
当执行try后的语句1时,没有异常时,跳过except语句,继续执行后面的程序。
当执行try后的语句1,出现异常时,返回到与try对应的except语句执行语句2,处理异常。
举例,上面的程序可修改如下:
class Person(object):
def __init__(self, name, score):
self.name = name
self.__score = score
p = Person('Bob', 59)
print p.name
try:
print p.__score
except AttributeError,e:
print 'AttributeError',e
收藏
举报
TAG: