當前位置:編程學習大全網 - 編程軟體 - python中init方法中定義的__metaclass__=xxx的作用?

python中init方法中定義的__metaclass__=xxx的作用?

__metaclass__是Python2的寫法,代表指定該類的元類。Python3中對應的寫法是class 要定義的類名(metaclass=元類名)

元類是生成類的工廠,就像類是生成對象實例的工廠。在Python中所有類的默認元類是type,如果需要自定義類的生成方式,例如給類添加特定的屬性,那麽就需要替換默認元類為妳自己編寫的元類,此時就要用到metaclass語法。壹個重要的利用場景就是ORM框架,因為數據庫模型類的編寫者是無法預知這個類可能有哪些字段的,所以必須要利用元類動態地生成這個類。

關於元類的說明可以看:網頁鏈接

  • 上一篇:用壹百元錢買水果,棗子1元20個,蘋果5元壹個,芒果壹元壹個,問有多少種買法?
  • 下一篇:xe2是電子快門還是機械快門
  • copyright 2024編程學習大全網