只允許對某個例項新增某個屬性 slots

2021-10-12 08:41:32 字數 581 閱讀 6912

如果我們想要限制例項的屬性怎麼辦?比如,只允許對student例項新增nameage屬性。

為了達到限制的目的,python允許在定義class的時候,定義乙個特殊的__slots__變數,來限制該class例項能新增的屬性:

class student(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'

vsftpd配置只允許某個IP段進行訪問

3.etc hosts.allow 和 etc hosts.deny的關係 先從hosts.allow檔案中查詢允許的ip,如果找到就允許訪問,就不找hosts.deny檔案了,如果沒找到,就在hosts.deny中查詢,如果找到,就拒絕,沒找到,還是允許訪問。hosts.deny檔案格式 vsft...

JSON 物件 新增 和 移除 某個屬性

json物件新增乙個屬性 因為json完全是動態的,所以給乙個json物件新增乙個屬性是很簡單的,如 var json json.username xtayfjpk 這樣就為json物件新增了乙個名為username的屬性,其值為字串 xtayfjpk 反過來想,如何從json物件中移除乙個屬性呢?...

對ArrayList按照某個屬性進行分組

概述 通常使用sql查詢一批資料的時候,可以利用sql中的group by語句對資料進行分組,但是有時候出於對效能的考慮,不會使用group by,而是先把資料撈出來後,使用 在記憶體中按照某個屬性進行分組。public class skuvo public long getskuid public...