文字列または文字列のリストである可能性のある単一の引数を渡して、関数をオーバーロードしようとしています。文字列のリストを作成する最も簡単な方法は何ですか?
>>> foo
'bar'
>>> bar
['foo', 'bar']
def myfunc(arg):
listarg = list()
listarg.extend(arg)
print listarg
>>> myfunc(bar)
['foo', 'bar']
>>> myfunc(foo)
['b', 'a', 'r']
foo を渡すと、 が表示されます['bar']
。
私はだまされて使用isinstance(arg, str) or isinstance(arg, unicode)
しましisinstance(arg, collections.Iterable)
たが、後者は機能せず、前者はリストなどに参加することはできませstr
んunicode
.テストする対象がさらに増えるのではないかと心配しています。