[英]How to access variables made in __init_subclass__ from __init__?
這是示例代碼:
from abc import *
class weightlayer(metaclass=ABCMeta):
def __init_subclass__(cls):
cls.count = 0
def __init__(self):
self.order = cls.count
cls.count += 1
@abstractmethod
def init_weight(self):
pass
class A_layer(weightlayer):
def init_weight(self):
pass
class B_layer(weightlayer):
def init_weight(self):
pass
我已經搜索了很多次,但找不到解決方案。 我的想法不起作用,因為__ init __
函數沒有cls
參數。 我該怎么辦?
__init__
是一個實例方法,所以你必須通過實例self
到達實際的類:
def __init__(self):
self.order = self.__class__.count
self.__class__.count += 1
a1 = A_layer()
A_layer.count
# 1
a1.order
# 0
a2 = A_layer()
A_layer.count
# 2
a2.order
# 1
B_layer.count
# 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.