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

property的作用

时间:2020-06-27 20:27:13      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:return   修改   属性   外部   写法   turn   style   get   self   

‘‘‘
property:将一个方法当作属性使用
‘‘‘

class persion:
def __init__(self,name,age):
self.name = name
self.__age = age #:age是一个私有属性

def tell(self):
print("我叫%s,我今年%s岁了"%(self.name,self.__age))

p = persion("杨洋",21)
p.name = "小明"
print(p.name) #:可以查看和修改

p.__age = 22 #:修改也不可以
# print(p.__age) #:外部想去查看私有属性是查看不了的



# :如果我想修改/查看私有属性的话必须使用共有方法来进行
class persion:
def __init__(self,name,age):
self.name = name
self.__age = age #:age是一个私有属性

def tell(self):
print("我叫%s,我今年%s岁了"%(self.name,self.__age))

def getage(self):
print(self.__age)

def setage(self,age):
self.__age = age

p = persion("杨洋",21)
p.setage(22) #:通过共有方法可以修改私有属性
p.getage() #:通过共有方法可以实现查看私有属性


#:但这样做太麻烦了,我必须每次都要查看调用方法才可以修改私有属性
#:这样可以使用property
class persion:
def __init__(self,name,age):
self.name = name
self.__age = age #:age是一个私有属性

def tell(self):
print("我叫%s,我今年%s岁了"%(self.name,self.__age))

@property
def age(self):
return self.__age

@age.setter #:写法固定 去掉双下划线的私有属性 后面加.setter
def age(self,age):
self.__age = age

p = persion("杨洋",21)
p.age = 22 #:直接调用方法age 来修改私有属性age
print(p.age) #:这样的话就可以使用属性的方式来调用方法

property的作用

标签:return   修改   属性   外部   写法   turn   style   get   self   

原文地址:https://www.cnblogs.com/yandh/p/13199366.html

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