2012-02-05 11 views
1

可能性の重複:
Conditional operator in Python?どのようにこの構文は、Pythonで保持されませんか?

我々はすべて知っているようにその世界でおそらく最高の言語。

しかし、私はこの構文が成り立たないことに気付きましたか?私はここで間違って何をやっている

<condition> ? <operation> : <operation> 
+4

「世界で最高の言語」というような主張をしないでください。特定のプログラマーにとっては、特定の目的のために「最良」です。あなたはおそらく、PythonでOSカーネルを構築しません。あなたがロープを切るためにハンマーを使わないのと同じです。 – amit

+2

あなたは何を期待していましたか?そのPythonはCの構文に従っていますか? – delnan

+0

@amit OPはおそらく「全体的なことをすべて考慮に入れている」という意味です...; – joaquin

答えて

7

構文は、Pythonで異なっています。例えば

<operation> if <condition> else <operation> 

x = max(y, z) 

は大体同じです:Pythonの設計思想の

x = z if z > y else y 
+0

私はまたどこかを見ました: '[] [条件] OPのコードのように右側の代わりに左側にも操作をグループ化するという利点があります。 – joaquin

+2

@joaquin:リスト、それは 'if'のようなものではありません –

+0

ああ、私はあなたが意味するものを参照してください。 'x = [10,3/b] [b> 0]'が失敗する – joaquin

2

一つの可能​​な場合は言葉の代わりにシンボルを使用することのようです。この場合、使用する最適な単語はifelseです。しかし、それらの言葉はすでに取られています。だから、Pythonはちょっと騙されて、値を返すifのバージョンからのフローを制御するifのバージョンを明確にするために構文を使います。

関連する問題