2013-04-07 13 views
12

私はHidden features of Pythonを読んでいましたが、私はこれを見つけましたanswer。右ポストからPythonでこの演算子 "_"の名前は何ですか?

:これの名前は何

>>> range(10) 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> _ 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> 

対話型シェルを使用して、 "_" は、最後の 印刷された項目の値が含まれています演算子?私は文書上でそれを見つけることができず、私はこれまで聞いたことがない(他の言語でも)。それはそれを使う価値がありますか?

PS。私はその関数がどのように実装されているかを見て、他の言語がこの素晴らしい機能を持っているかどうかを調べたいので、その名前を知りたい。

+7

のためには、オペレータ、単に変数名ではありません。 –

+1

これは演算子ではありません。 Lispには、 '*'という名前が付けられています。 –

+0

に関する記事がありました。この前: http://stackoverflow.com/questions/5893163/underscore-in-python よろしく – LoBS

答えて

12

これは演算子でも関数でもありません。 変数で、シェルによって実行された各式の結果が自動的に割り当てられます。

+0

これはシェル依存ですか? –

+4

@Sancho python-shellに依存します。しかし、基本的に誰もが同じPythonシェルを使用しています(そしてそれほど一般的ではない変種でさえそれを実装する傾向があります)。 – Amber

+0

@サンチェイIPythonシェルでは、 '_'のデフォルト値は' '' 'です。 –

3

文字には2つの機能があります。グローバル変数の前に使用されるため、通常の変数と混在しません。変数が使用されないことを示すために、使い捨てとしてループ内で使用することもできます。

この場合、インタプリタに入力するとアンダースコア(_)が最後に実行された文の値を返します。

は、より多くの情報

What is the purpose of the single underscore "_" variable in Python?

What is the meaning of a single- and a double-underscore before an object name?

the underscore of python

+3

"*これはグローバル変数の前に使用されるため、通常の変数*と混在しません。"それは変数の "使用"ではありません。 –

+0

良いキャッチ、ありがとう。 – JFA

関連する問題