次のような関数宣言があります。
def function(list_of_objects = None)
*list_of_objects* が渡されない (None) 場合は、空のリストのように定義する必要があります。明示的な方法は次のとおりです。
def function(list_of_objects = None):
if not list_of_objects:
list_of_objects = list()
また
def function(list_of_objects = None):
list_of_objects = list() if not list_of_objects else list_of_objects
上記のコードは次のコードと同じですか?
def function(list_of_objects = None):
list_of_objects = list_of_objects or list()
調べてみたけどまだよくわからない
>>> def func(my_list = None):
... my_list = my_list or list()
... print(type(my_list), my_list)
...
>>> func()
(<type 'list'>, [])
>>> func(['hello', 'world'])
(<type 'list'>, ['hello', 'world'])
>>> func(None)
(<type 'list'>, [])
>>>