私は持っている
try:
a = list().append('hello')
しかしa
_NoneType
try:
b = list()
b.append('hello')
そしてタイプb
ですlist
list()
リストオブジェクトを返すと思います。list().append('hello')
戻りリストを使用して追加しますが、なぜの値はa
None
?
list()
は確かに空のリスト ( []
) を返しますが、append
メソッドはその場でリストを操作します。リスト自体を変更し、新しいリストを返しません。代わりに返しますNone
。
例えば:
>>> lst = []
>>> lst.append('hello') # appends 'hello' to the list
>>> lst
['hello']
>>> result = lst.append('world') # append method returns None
>>> result # nothing is displayed
>>> print result
None
>>> lst # the list contains 'world' as well now
['hello', 'world']
a = list().append('hello')
上記の行は、新しいリストを作成し、append()
メソッドを呼び出して、戻りコードをappend()
変数に保存するだけですa
。値がであるため、メソッドに戻り値がないことNone
を意味します。append()
これを確認するには、これを試すことができます:
>>> a = list()
>>> result = a.append('hello')
>>> print a
['hello']
>>> print result
None
あなたはすでにあなたの質問に対する答えを得ていますが、あなたがやろうとしていることを行うための最良の方法はどちらでもないことを指摘したいと思います. そのはず:
a = [ 'hello' ]