對比:
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 構造方法起作用 構造方法會在例項生成時自動呼叫,且將例項自身通...