python中class類的屬性包裝

2021-09-25 02:12:48 字數 1378 閱讀 4603

對比:

class

person

(object):

def__init__

(self)

:

self._age =

none

defage

(self, n):if

0<=n<=

100:

self._age = n

else

:print

("age_error"

)person1 = person(

)person1.age(

1000

)print

(person1._age)

#**執行結果:

age_error

traceback (most recent call last)

: file "e:/python譚子琨/tzk708_oop/1.屬性包裝.py"

, line 19,in

print

(person1._age)

attributeerror:

'person'

object has no attribute '_age'

class

person

(object):

def__init__

(self)

: self._age =

none

@property

defage

(self)

:#訪問會執行

return self._age

@age.setter

defage(self, n)

:#設定會執行if0

<=n<=

100:

self._age = n

else

:raise valueerror(

"age_error"

) @age.deleter

defage(self)

:print

("刪除,會執行這裡"

)p1 = person(

)#把乙個方法屬性包裝之後就不需要用p1.age()

# 這個方法就像乙個屬性了

print

(p1.age)

#訪問p1.age =

100#設定

print

(p1.age)

del p1.age#刪除

#**執行結果:

none

100刪除,會執行這裡#但是沒有真正刪除,只是條用了@age.deleter但是裡面沒有寫del self._age

Python類中的方法(CLASS)

在類中可以根據需要定義一些方法,定義方法採用def關鍵字,在類中定義的方法至少會有乙個引數,一般以名為 self 的變數作為該引數 用其他名稱也可以 而且需要作為第乙個引數。舉例 class people sname xiaohong high 172.5 weight 180 男 def eat ...

python 類 Class 初步使用 中

usr bin python coding utf 8 class parent parentint 100def init self print 呼叫父類建構函式 def parentfar self print 呼叫父類方法 def setint self,a parent.parentint ...

Python中class類的使用說明

構造方法 也叫初始化方法 作用 建立物件,初始化例項變數 構造方法的語法格式 class 類名 繼承列表 definit self 引數列表 語句塊 代表可省略 說明 構造 方法名必須是 init不可改變 在乙個類內只能有乙個 init 構造方法起作用 構造方法會在例項生成時自動呼叫,且將例項自身通...