同乙個類下,不同例項定義的屬性或者方法,其他例項如果沒有定義是不能使用的
#定義乙個類
class
student(object):
pass
#給類繫結乙個例項
s=student()
#給例項繫結乙個屬性
s.name='
micheal
's.name
#'micheal'
s1=student()
s1.name
#報錯attributeerror: 'student' object has no attribute 'name'
我們如果想要給所有例項都繫結屬性或者方法,只需給類繫結屬性或者方法就可以了,這樣所有的例項都可以呼叫
但是我們想要限制例項的屬性,比如說例項只能新增name和age屬性
在定義類時,使用__slots__變數,來限制類例項能新增的屬性
__slots__變數的使用方法
classstudent(object):
__slots__ = ('
name
', '
age') #
用tuple定義允許繫結的屬性名稱
s = student() #
建立新的例項
s.name = '
michael'#
繫結屬性'name'
s.age = 25 #
繫結屬性'age'
s.score = 99 #
繫結屬性'score'
traceback (most recent call last):
file
"", line 1, in
attributeerror:
'student
' object has no attribute '
score
'
要注意的是,__slots__變數定義的屬性僅對當前類的例項起作用,對繼承的子類的例項是不起作用的
classgraduatestudent(student):
pass
g =graduatestudent()
g.score = 9999 #
這樣是沒有問題的
Python物件導向的程式設計
1 使用類名後跟一對圓括號來建立乙個物件 例項。2 python中的self等價於c 中的this指標。3 init 方法類似於c 中的constructor。4 del 方法類似於c 中的destructor。5 域是屬於乙個物件或類的變數。域有兩種型別 例項變數 物件的變數 和類變數 類的變數 ...
Python 物件導向的程式設計
table of contents 物件導向程式設計 類和物件是物件導向程式設計的兩個主要方面。類 建立乙個新型別,而 物件 是這個類的 例項 類的物件可以使用屬於類的變數和函式,類的變數和函式有兩種 屬於每個例項 類的物件或屬於類本身。就像 c 的類的靜態變數和函式一樣。python 有乙個變數指...
Python 物件導向的程式設計
什麼是物件?物件導向 oop 物件導向的程式語言 物件導向的程式設計思想,將所有的功能統一儲存到對應的物件中 比如,媽媽功能儲存到媽媽的物件中,孩子的功能儲存到孩子物件中 要使用某個功能,直接找到對應的物件即可 這種方式編寫的 比較容易閱讀,並且比較易於維護,容易復用。但是這種方式編寫,不太符合常規...