之所以給它起名為禁錮術,並非空缺來風,下面我們來了解一下__slost__
__slost__:其實就是將類中的名稱鎖定,例項化物件,只可以賦值和呼叫,不可以刪除名字和增加新的名字
**示例:(例項化物件示例)
1#2class
foo:
3__slots__ = ["
x","
y"]#
在類中定義屬性x和y
4 f = foo()#
例項化foo
5 f.x = 1#
此時我們可以使用例項化物件呼叫類中的屬性x
6 f.y = 27#
如果現在,我們在例項化物件中增加乙個z
8 f.z = 39#
會得到如下錯誤10#
attributeerror: 'foo' object has no attribute 'z'11#
也就是不可以,對例項化物件增加新的屬性12#
如果現在,我們在例項化物件中刪除乙個x
13del f.x#
此時程式執行並不會出錯,但是我們列印一下foo的命名空間
14print(foo.__dict__)15
#16#依然可以看到x的存在,所以,例項化物件不可以刪除__slots__定義的屬性
**示例:(類示例)
classfoo:
__slots__ = ["
x","y"
]foo.
__slots__ = "z"
print(foo.__dict__)#
delfoo.x
print(foo.__dict__)#
綜合以上內容,我們得到結論:
__slots__只是針對例項化物件的禁錮,直接對類中的屬性進行修改,是可以的
python之包的概念
載入順序 記憶體 內建 sys.path 一系列自定義模組 import sys sys.path 環境變數 存放檔案路徑的列表 重點 預設列表的第乙個元素就是當前被執行檔案所在的目錄 可以自定義往sys.path新增路徑 sys.path.insert 0,r 想匯入的模組的絕對路徑 新增到指定索...
Python之基礎概念 五
基本運算子 a 0b11011 b 0b11100 a 27 b 28 c a a a b a 31 bin a 0b11111 符合賦值運算子 運算子優先順序 類似於int 也可以使用float 將其他型別轉化成浮點數 整數和浮點數運算時,結果轉為浮點數。round value 可以返回四捨五入的...
Python之程式設計基礎概念
6.基本內建資料型別與運算子 6.3 浮點數 6.4 運算子 每個物件由 標識 id 型別 type 值 value 組成 型別 相當於物件儲存的 資料 的型別。型別可以限制物件的取值範圍和可執行操作,使用type 123 獲取所屬型別。值 表示物件所儲存的資料的資訊。使用print 123 直接打...