码迷,mamicode.com
首页 > 其他好文 > 详细

知识点:类2

时间:2017-04-06 20:04:42      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:知识点   doc   erro   err   函数   bsp   名称   get   mod   

 

 

 

 

delattr(object, name) 删除object对象名为name的属性

参数object:对象。

参数name:属性名称字符串。

>>> class Person:
...     def __init__(self, name, age):
...             self.name = name
...             self.age = age
...
>>> tom = Person("Tom", 35)
>>> dir(tom)
[__doc__, __init__, __module__, age, name]
>>> delattr(tom, "age")
>>> dir(tom)
[__doc__, __init__, __module__, name]

 

 

属性函数(property)

 property([fget[, fset[, fdel[, doc]]]])

fget:属性被访问时执行的方法,fset:属性被赋值时执行的方法,fdel:属性被删除时执行的方法。

class C:
    def __init__(self , size=10):
        self.size = size

    def getSize(self):
        return self.size

    def setSize(self , value):
        self.size = value

    def delSize(self):
        del self.size

    x = property(getSize , setSize , delSize)


c1 = C()
c.getSize()  #>>> 10
c1.x         #>>> 10
c1.x=18
c1.x         #>>> 18
c.getSize()  #>>> 18
del c1.x
c1.size      #AttributeError: ‘C‘ object has no attribute ‘size‘
        

 

知识点:类2

标签:知识点   doc   erro   err   函数   bsp   名称   get   mod   

原文地址:http://www.cnblogs.com/marianyad/p/6674849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!