Python: typing.Type[ クラス名 ] でベースクラスを取る引数を指定2021年04月29日 11時41分52秒

継承を使うと関数の引数の型付け等で基底クラスを指定したい時がある。typing には基底クラスの指定の仕方もある。

Type[ 基底クラス名 ] が書式。クラス名を動的に表示するのを使って実験。

% cat inheritance_typing.py
#!/usr/local/bin/python3.7

import typing

class Base:
    pass

class Derived( Base ):
    pass

def func( arg: typing.Type[ Base ] ):
    print( arg.__class__.__name__ )

b = Base()
d = Derived()

func( b )
func( d )
それぞれのインスタンスのクラス名が表示される。
% python3.7 inheritance_typing.py
Base
Derived

前回