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ループに固執する必要がありますか?