2011-11-15 5 views

答えて

5
リストに appendメソッドはNoneを返しますので

それはリストを変異させると、(または、別の方法は...何も返さないと述べました)。

ほとんどの場合、すべてではないにしても、Pythonの標準ライブラリでは、このように動作します。

replace文字列には、Python文字列が不変であるため、変更されません。置き換えられた新しい文字列が返されます。

2

文字列は不変なので、replaceの唯一の妥当なことは、変更された値を返すことです。しかし、リストは変更可能ですので、appendは何も返す必要はなく、明示的なreturnがない場合はNoneを返します。 appendと返す必要がありますが、それは人々にappendでないと信じるようになる可能性があります。はリストを変更します。

2

str.replace()は、変更された値を持つ新しい文字列を返します。list.append()は、値を返さずにリストを変更します。

4

あなたはもう少しあなたのコマンドを見れば、あなたはこの表示されます。このメソッドは何かを返す方法

>>> strng.replace('a', 'A') 
'spAm' 
>>> 

お知らせ。今、コードのあなたの次の行

>>> type('spAm') 
<type 'str'> 
>>> 

何もを返さなかったこと

>>> list_a.append('eggs') 
>>> 

が注目してあなたがtype()を呼び出すときは、基本的にこれを呼んでいます。 type()に電話するときは、基本的にtype()Noneというパラメータを指定します。

>>> type(None) 
<type 'NoneType'> 
>>> 
関連する問題