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:

 

评分:0

我来说两句

日历

« 2024-03-19  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

我的存档

数据统计

  • 访问量: 1027
  • 日志数: 1
  • 建立时间: 2017-07-20
  • 更新时间: 2017-07-20

RSS订阅

Open Toolbar