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

前回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2021/04/29/9372107/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。