python any()およびall()の使用例-優雅に判断文で「または」機能を実現
4889 ワード
python anyとallの使い方
文書ディレクトリ python anyとall用法 例 用法 注意事項 例を挙げる
実装:virt-whoプロセスのステータスを表示するコマンドをlinuxコマンドで実行した後、異なるステータスを分類し、対応するステータス値がカプセル化された関数を返します:runcmd():linuxコマンドを実行し、結果を返すプロセスには以下のステータスがある可能性があります:1.virt-who is running 2.virt-who is stopped 3.virt-who is Active: active (running) 4.virt-who is Active:inactive(dead)一般表記:
この方法は機能を実現したが、一つの特徴を際立たせた:“俗”!!!(感嘆符究極嫌悪)より優雅な実現方法は:
追い詰められて一気に昇進したのではないでしょうか.
使用法 any(x): xオブジェクトが空オブジェクトであるか否かを判断し、いずれも空、0、falseであればfalseを返し、いずれも空、0、falseでなければtrue を返す.
all(x): all(x)パラメータxオブジェクトのすべての要素が0,’,Falseまたはxが空のオブジェクトでない場合はTrueを返し,そうでない場合はFalse を返す.
注意事項
返される値は:True
返される値は、True、すなわち、Nullタプル、Nullリストの戻り値のいずれもTrueです.
文書ディレクトリ
実装:virt-whoプロセスのステータスを表示するコマンドをlinuxコマンドで実行した後、異なるステータスを分類し、対応するステータス値がカプセル化された関数を返します:runcmd():linuxコマンドを実行し、結果を返すプロセスには以下のステータスがある可能性があります:1.virt-who is running 2.virt-who is stopped 3.virt-who is Active: active (running) 4.virt-who is Active:inactive(dead)一般表記:
def get_status():
stdout = runcmd('systemctl status virt-who')
if 'is running' in stdout or 'Active: active (running)' in stdout:
return 'running'
elif 'is stopped' in stdout or 'Active: inactive (dead)' in stdout:
return 'stopped'
else:
return 'undefined'
この方法は機能を実現したが、一つの特徴を際立たせた:“俗”!!!(感嘆符究極嫌悪)より優雅な実現方法は:
def get_status():
stdout = runcmd('systemctl status virt-who')
running_stauts = ['is running', 'Active: active (running)']
stopped_status = ['is stopped', 'Active: inactive (dead)']
if any(key in stdout for key in running_stauts):
return 'running'
elif any(key in stdout for key in stopped_status):
return 'stopped'
else:
return 'undefined'
追い詰められて一気に昇進したのではないでしょうか.
使用法
注意事項
all([]) #
返される値は:True
all(()) #
返される値は、True、すなわち、Nullタプル、Nullリストの戻り値のいずれもTrueです.