用法:
classmethod object.__init_subclass__(cls)
每当包含的类被子类化时,都会调用此方法。
cls
是新的子类。如果定义为普通实例方法,则此方法隐式转换为类方法。给新类的关键字参数被传递给父类
__init_subclass__
。为了与使用__init_subclass__
的其他类兼容,应取出所需的关键字参数并将其他关键字参数传递给基类,如下所示:class Philosopher: def __init_subclass__(cls, /, default_name, **kwargs): super().__init_subclass__(**kwargs) cls.default_name = default_name class AustralianPhilosopher(Philosopher, default_name="Bruce"): pass
默认实现
object.__init_subclass__
什么都不做,但如果使用任何参数调用它会引发错误。注意
元类提示
metaclass
被其余类型机制使用,并且永远不会传递给__init_subclass__
实现。实际的元类(而不是显式提示)可以作为type(cls)
访问。3.6 版中的新函数。
相关用法
- Python object.__set_name__用法及代码示例
- Python object()用法及代码示例
- Python os.path.normcase()用法及代码示例
- Python os.read()用法及代码示例
- Python os.DirEntry.inode()用法及代码示例
- Python os.closerange()用法及代码示例
- Python os.set_blocking()用法及代码示例
- Python os.pathconf()用法及代码示例
- Python os.chflags()用法及代码示例
- Python operator.truth()用法及代码示例
- Python operator.le()用法及代码示例
- Python os.WCOREDUMP()用法及代码示例
- Python os.fork()用法及代码示例
- Python os.ctermid()用法及代码示例
- Python os.mkfifo()用法及代码示例
- Python os.tcsetpgrp()用法及代码示例
- Python os.path.commonpath()用法及代码示例
- Python os.path.splitdrive用法及代码示例
- Python os.mkdir()用法及代码示例
- Python os.close()用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 object.__init_subclass__。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。