python语法基础-面向对象-进阶-长期维护

###############    @property定义属性    ##############

# 所以对于定义属性你有好几种方式了和种类了,
# 静态属性,动态属性,

#
property # 内置装饰器函数 只在面向对象中使用 # 注意: # 1,不能传递任何的参数, from math import pi class Circle: def __init__(self,r): self.r = r @property def perimeter(self): # 不能传递任何的参数,周长和面积更加像一个属性,可以通过@property伪装成属性 return 2*pi*self.r @property def area(self): return self.r**2*pi # c1 = Circle(5) # print(c1.area) # 圆的面积 # print(c1.perimeter) # 圆的周长 ########################################################## # 对@property装饰过的属性进行查看 修改 删除 # class Person: # def __init__(self,name): # self.__name = name # self.price = 20 # @property # def name(self): # return self.__name # @name.deleter # 用的很少 # def name(self): # del self.__name # 这里面要有删除的操作,因为本质,@name.deleter,还是在执行函数, # @name.setter # 注意必须要和@property装饰的函数的名字是一样的,只能传递一个参数,这样就是实现了对对象的修改, # def name(self,new_name): # self.__name = new_name # brother2 = Person('二哥') # 实例化 # del Person.price # 删除了属性 # brother2.name = 'newName' # # brother2 # del brother2.name # print(brother2.name)

###############    类的基本操作    ##############

###############    类的基本操作    ##############

猜你喜欢

转载自www.cnblogs.com/andy0816/p/12289997.html