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等方法。如下例子

Advertisements

同理我們可以按照這個思路來編寫python代碼

這樣寫就完善很多,參數不會被隨意更改了。訪問age的時候需要使用p.get_age(),但這種寫法不夠pythonic,強大的python提供了@property方法,方法如下

這裡面有一點需要注意,就是在自定義類的時候需要使用新式類,即繼承了object,好了,今天就到這裡啦,大家明天見咯。

Advertisements

你可能會喜歡