list
、tuple
、set
などの反復可能なパラメーターのみを受け入れるメソッドを作成しようとしていますdict
。
これが私のコードです:
class MjmMenuControl(MjmBaseMenu):
def __init__(self, items=None):
iterables = (dict, list, set, tuple)
for iterable in iterables:
if isinstance(items, iterable):
...
break
しかし、もっと簡単な方法はないかと思っていましif isinstance(items, <iterable_base_class>):
たが、何も見つかりませんでした。
私はすでになどのベースクラスを見つけようとしましlist
たが、それらはすべてから派生しているようですobject
:
>>> inspect.getmro(list)
(<class 'list'>, <class 'object'>)
>>> inspect.getmro(tuple)
(<class 'tuple'>, <class 'object'>)
これは可能ですか、それともひどいfor
ループに固執する必要がありますか?