猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

Pythn小技

 使うまで知らなかったPythonの小技(常識?)を集めてみました。

真偽値

PythonではNone,False,0,[]など一部のオブジェクトが偽であり、それ以外のオブジェクトは全て真です。よってほとんどのオブジェクトのbool値は真になります。0が偽で1が真などはC言語っぽいっです。

>>> bool(0)
False
>>> 
>>> not 0
True
>>> bool(1)
True
>>> not 1
False
>>> bool(2)
True
>>> not 2

リスト内包中のif文の倒置

Pythonはif文の倒置をサポートしていませんが、リスト内包では利用できます。elseとの併用も可能です。個人的には可読性が低くなるような気がして、あまり好きではないのですが…

>>> list = [1,2,3,4,5]
>>> [p for p in list if p > 3]
[4, 5]
>>> [p+10 if p > 3 else p+100 for p in list]
[101, 102, 103, 14, 15]

セミコロン

Pythonでは改行が文の区切りであるため、C言語のように文末のセミコロンは不要です。しかしセミコロンを用いることで、一行の中で複数の文を記載できます。

>>> print "hello"; print "python"
hello
python
>>>