国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中的__SLOTS__屬性使用示例

2020-02-23 06:25:44
字體:
來源:轉載
供稿:網友

看python社區大媽組織的內容里邊有一篇講python內存優化的,用到了__slots__。然后查了一下,總結一下。感覺非常有用

python類在進行實例化的時候,會有一個__dict__屬性,里邊有可用的實例屬性名和值。聲明__slots__后,實例就只會含有__slots__里有的屬性名。

# coding: utf-8  class A(object):  x = 1   def __init__(self):    self.y = 2 a = A()print a.__dict__print(a.x, a.y)a.x = 10a.y = 10print(a.x, a.y)  class B(object):  __slots__ = ('x', 'y')  x = 1  z = 2   def __init__(self):    self.y = 3    # self.m = 5 # 這個是不成功的  b = B()# print(b.__dict__)print(b.x, b.z, b.y)# b.x = 10# b.z = 10b.y = 10print(b.y)  class C(object):  __slots__ = ('x', 'z')  x = 1   def __setattr__(self, name, val):    if name in C.__slots__:      object.__setattr__(self, name, val)   def __getattr__(self, name):    return "Value of %s" % name  c = C()print(c.__dict__)print(c.x)print(c.y)# c.x = 10c.z = 10c.y = 10print(c.z, c.y)c.z = 100print(c.z)

{'y': 2}(1, 2)(10, 10)(1, 2, 3)10Value of __dict__1Value of y(10, 'Value of y')100 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大邑县| 长垣县| 渭南市| 麻城市| 大姚县| 龙泉市| 金溪县| 顺平县| 毕节市| 平乐县| 买车| 高平市| 新巴尔虎右旗| 龙门县| 巴塘县| 中宁县| 札达县| 布拖县| 盐城市| 黄平县| 山东省| 迭部县| 大洼县| 蕉岭县| 大邑县| 四川省| 会理县| 高陵县| 祥云县| 罗平县| 团风县| 诸暨市| 荥阳市| 铁力市| 淅川县| 民权县| 于田县| 平乡县| 廊坊市| 龙游县| 黄龙县|