@blog.justoneplanet.info

日々勉強

Pythonの条件節

■比較の連鎖

Pythonでは以下のように比較を連続して記述できる。

a = 3
b = 5
c = 7
if(a < b < c):
    print('hoge');
#hoge

ちなみにPHPではできない。

$a = 3;
$b = 5;
$c = 7;
if($a < $b < $c){
    print('hoge');
}
//Parse error: syntax error, unexpected '&lt;'

■条件節の中の代入文

Pythonでは以下のように条件節で代入文を記述することはできない。

b = [0, 3, 5]
if((a = b[1]) > 0):
    print('hoge')
#SyntaxError: invalid syntax

これについては公式マニュアルで以下のように説明されている。

Python では、C 言語と違って、式の内部で代入を行えないので注意してください。 C 言語のプログラマは不満を呈するかもしれませんが、この仕様は、 C 言語 プログラムで遭遇する、式の中で == のつもりで = とタイプ してしまうといったありふれた問題を回避します。

ちなみにPHPではできる。

$b = array(0, 3, 5);
if(($a = $b[1]) > 0){
    print('hoge');
}
#hoge

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment