python學習 限制例項的屬性

2021-08-10 14:24:23 字數 657 閱讀 3671

若要限制某一例項只具有某幾個屬性,該怎麼辦呢?

在定義class的時候,定義__slots__變數,來限制該class例項能新增的屬性:

舉例:

>>> class student(object):

__slots__ = ('name','age')

>>> s = student()

>>> s.name='xiaoh'

>>> s.age=25

>>> s.mobie='13955698985' #因未繫結該屬性,所以會報 attributeerror

traceback (most recent call last):

file "", line 1, in s.mobie='13955698985'

attributeerror: 'student' object has no attribute 'mobie'

說明:使用__slots__要注意,__slots__定義的屬性僅對當前類例項起作用,對繼承的子類是不起作用的:除非在子類中也定義__slots__

,子類中定義後,子類例項允許定義的屬性就是自身的__slots__加上父類的__slots__

python建立例項屬性 Python學習筆記

這是學習廖雪峰老師python教程的學習筆記 1 概覽 1.1 例項繫結屬性 class student object def init self,name self.name name s student bob 建立例項 s s.score 90 為s新增乙個score屬性 1.2 類繫結屬性 ...

python學習筆記 類屬性 例項屬性

上篇 class tool object 類屬性 num 0 方法 def init self,name 例項屬性 self.name name tool.num 1 tool1 tool a 例項物件 tool2 tool b 例項物件 tool3 tool c 例項物件 類屬性 num 0 例項...

Python學習 例項屬性和類屬性

由於python是動態語言,根據類建立的例項可以任意繫結屬性。給例項繫結屬性的方法是通過例項變數,或者通過self變數 class student object def init self,name self.name name s student bob s.score 90但是,如果studen...