av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

通過實例了解python__slots__使用方法

瀏覽:3日期:2022-07-11 13:24:02

一、背景

python是一個動態(tài)語言,可以支持我們在運行時動態(tài)的給類、對象添加屬性或者方法;但是如果我們想要限制可以添加的屬性或方法該怎么辦呢?

二、__slots__

python允許在定義class的時候,定義一個特殊的__slots__變量,來限制該class能添加的屬性:

>>> class Student(object):... __slots__ = (’name’, ’age’) # 用tuple定義允許綁定的屬性名稱...

然后嘗試添加屬性:

>>> s = Student() # 創(chuàng)建新的實例>>> s.name = ’Michael’ # 綁定屬性’name’>>> s.age = 25 # 綁定屬性’age’>>> s.score = 99 # 綁定屬性’score’Traceback (most recent call last): File '<stdin>', line 1, in <module>AttributeError: ’Student’ object has no attribute ’score’

由于’score’沒有被放到__slots__中,所以不能綁定score屬性,試圖綁定score將得到AttributeError的錯誤。

使用__slots__要注意,__slots__定義的屬性僅對當(dāng)前類起作用,對繼承的子類是不起作用的:

>>> class GraduateStudent(Student):... pass...>>> g = GraduateStudent()>>> g.score = 9999

除非在子類中也定義__slots__,這樣,子類允許定義的屬性就是自身的__slots__加上父類的__slots__。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 少妇网址| 91精品久久久久 | 饥渴放荡受np公车奶牛 | 91成人免费版 | 国产在线二区 | 激情啪啪网| aaaaaa毛片 | 日韩欧美大片 | 精品一区在线播放 | 久久不射网 | 欧美国产综合 | 一级片日韩| 两性免费视频 | 天天爽天天| 欧美一级片在线 | 国产视频成人 | 日韩精品影院 | 看国产毛片 | 18视频在线观看男男 | 国产精品99久久久久久久久久久久 | 91精品国产成人www | 国产无遮挡又黄又爽免费网站 | 免费在线黄色网址 | 天天爽夜夜爽夜夜爽 | 欧美日韩激情视频 | 色中色av| 国产黄色免费网站 | 国产九九精品 | 波多野结衣乳巨码无在线观看 | 亚洲综合视频在线 | 在线看日韩 | 亚洲综合激情网 | 午夜你懂的 | 在线综合网| 精品国产91乱码一区二区三区 | 亚洲精品资源 | 拍床戏真做h文黄肉1v1 | 日韩国产在线 | 手机av在线 | 欧美日韩国产在线观看 | 91av免费在线观看 |