一.特性 property
1.什么是 property 特性
property 装饰器可以用于装饰类里面的方法, 让其伪装成一个数据属性, 也就是在调用的时候可以不用加括号
2.定义一个 property 特性
class Person:
def run(self):
print("小王在跑")
@property # 定义property属性
def speak(self):
print("李白在说话")
P1= Person()
P1.run() # 小王在跑
P1.speak # 李白在说话 (调用property属性)
3.为什么要有 property 特性
- 将类的一个函数(方法)定义成 property 特性之后, 不加括号的去使用
[对象].[方法]
的时候, 我们无法察觉自己是执行了一个函数(方法), 这种特性的使用方式遵循了统一访问的原则
4.property 属性的定义和调用的注意点
- 定义时 : 在实例方法的上方添加
@property
装饰器, 并且仅有一个self
参数 - 调用时 : 无需加括号
二.property 属性的使用两种方法
1.第一种 : 使用 property( )
函数 (古老用法, 了解即可)
class Person:
def __init__(self):
self.__name= None
#这是setter方