環境設定
プログラム作成
演算子
tkinter
|
Python演算子演算子の使い方を説明します. 目次はじめにPython の論理演算子は,他のプログラミング言語とほとんど同じです. 論理演算他の言語同様,Python にもブール型があります.この型が取り得る値は,二通り (True or False) のみです.ここでは,そのブール値をとる論理演算子について説明します. ブール演算ブール値ブール値(True, False) の他のオブジェクト(変数)も,プログラム中でブール値として取り扱われます.プログラム中で,Faslse として取り扱われるものは,(1)「None」,(2)値がゼロの数値「0, 0.0, 0j」,(3) 空のシーケンス「[]」や「{}」,(4)空のマッピング「{}」,(5)空文字あるいは空文字列「''」です (プログラム例).要するにゼロと無いものは,False ということです.
演算Python で使用できる組み込みのブール演算子は,表1 の通りです.原理的には,この3種類の演算子を使えば,どんな論理演算も可能です.十分とは言わないが,必要なものは揃っています.
具体的な論理演算子を使ったプログラムをリスト 1 に示します.この実行結果は,右に示すとおりです.
普通の算術演算のように,「True or False and not True」と演算子を連結することもできます.その場合の演算子の優先順位は,(優先順位高) not → and → or (優先順低) となります. 数値比較演算Python の比較演算子の演算結果は,ブール値になります.比較ができないときには,TypeError の例外を出します.表2 に比較演算子を示します.最後の二つを除いて,見慣れたもので説明は不要でしょう.「is」と「is not」は変数が示すメモリーのアドレス(リファレンスのポインター)を調べます.したがって,「x is y」が True であれば,かならず「x == y」は True になります.逆は,True とは限りません.
Python では,「x < y < z」のような比較演算が可能です.「3 < 4 < 5」は True になります(プログラム例).他のプログラミング言語には,この機能は無いと思います. 「==」は値が同じである場合に True になりますが,「is」は同一のメモリーのアドレスを指しているときに True になります.「!=」と「is not」も同じ関係です.しかし,変数のが示すメモリーについてはかなり難しい問題があります.それを,以下の具体例で示します.
このプログラムの 変数 u と v,x と y はそれぞれ同じ値です.したがって演算子「==」を使った比較では,True になります.一方,「is」を使った比較では,False になるように思えます.しかし,「u is v」は False になっています.メモリーのアドレスは別なはずなのにです.これは,値「1.234」は,キャッシュされ,同一のオブジェクトのリファレンスになっていると思われます[参考資料 2]. 文字と文字列の比較演算文字列も,比較演算子(<, <=, >, >=, ==, !=, is, is not)をサポートします(プログラム例).文字列の比較は,すべての文字がアルファベットの大文字あるいは小文字の場合にしか,役に立たないと思いますが… 算術演算数学演算
ビット演算
ページ作成情報参考資料
更新履歴
|