python屬性 python抽象屬性 不屬性

2021-10-10 19:16:17 字數 789 閱讀 9331

如果你真的要強制乙個子類定義乙個給定的屬性,你可以使用元類.就個人而言,我認為這可能是過度的,而不是非常pythonic,但你可以做這樣的事情:

class abstractfoometa(type):

def __call__(cls, *args, **kwargs):

"""called when you call foo(*args, **kwargs) """

obj = type.__call__(cls, *args, **kwargs)

obj.check_bar()

return obj

class abstractfoo(object):

__metaclass__ = abstractfoometa

bar = none

def check_bar(self):

if self.bar is none:

raise notimplementederror('subclasses must define bar')

class goodfoo(abstractfoo):

def __init__(self):

self.bar = 3

class badfoo(abstractfoo):

def __init__(self):

pass

基本上,元類重新定義__call__,以確保在例項上的init之後呼叫check_bar.

goodfoo() # ok

badfoo () # yield notimplementederror

python隨機抽號 python寫隨機抽取元素

python寫隨機抽取元素 首先要匯入乙個python的隨機包 匯入乙個時間函式,對某項輸出內容進行延遲 定義乙個列表,輸入想要隨機的元素 定義乙個隨機抽取的數量 import random 匯入乙個python的隨機包 import time list1 邵廣超 嘉怡 王學文 柴子健 李冰 張偉 ...

python屬性裝飾器 python 類屬性裝飾器

property裝飾器 後面跟的函式名就是以後的屬性,它即是getter,這個必須有,唯讀屬性 setter裝飾器 於屬性名同名,接收兩個引數,第乙個是self,第二個是將要賦值的值,將屬性變為可寫 deleter裝飾器 可以控制屬性是否刪除 property裝飾器必須在前,setter,delet...

python 類屬性 用處 Python類屬性詳解

類屬性1.類定義後就存在,而且不需要例項化 2.類屬性使得相同類的不同例項共同持有相同變數 類屬性例項 attrb.py class testcss cssa class attribe def init self self.a 0 self.b 10 def info self print a s...