Python属性的使用方法

大家好,又是一个新的周一啊,今天给大家说一下Python的属性property的使用,raksmart服务器。

在面向对象编程的时候,我们定义一个Person类

class Person:

def __init__(self):

self.age = 22

这样写法能够方便的访问属性age,

p = Person()

print p.age ==>22

p.age = 30

print p.age ==>30

这样写起来虽然很简单,但是没有参数检验(eg,输入非数值,输入过大的数值)。

写过Java的人知道,在Java有一种类叫做实体类(entity,javabean等),它们一般不提供其他复杂的方法只提供简单的getter和setter等方法。如下例子

同理我们可以按照这个思路来编写python代码

这样写就完善很多,参数不会被随意更改了。访问age的时候需要使用p.get_age(),但这种写法不够pythonic,强大的python提供了@property方法,方法如下

这里面有一点需要注意,就是在自定义类的时候需要使用新式类,即继承了object

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180115A0D99X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券