これを回避するためのコード構造化/プログラミング手法は次のとおりです。
if url.netloc == "www.youtube.com" or "youtu.be" or "soundcloud.com or //
"instagram.com" or "vine.co" or ETC ETC
do XYZ
これを回避するためのコード構造化/プログラミング手法は次のとおりです。
if url.netloc == "www.youtube.com" or "youtu.be" or "soundcloud.com or //
"instagram.com" or "vine.co" or ETC ETC
do XYZ
次の行
url.netloc == "www.youtube.com" or "youtu.be" or "soundcloud.com" or "instagram.com"
次のようなものです:
(url.netloc == "www.youtube.com") or ("youtu.be") or ("soundcloud.com") or ("instagram.com")
True
空でない文字列が述語として使用される場合、真の値として扱われるため、常に生成されます。
代わりに次のように使用in
します。
if url.netloc in ("www.youtube.com", "youtu.be", "soundcloud.com", "instagram.com", ..):
別の方法として use を使用することもできますが、複数回or
繰り返す必要があります。or url.netloc ==
最も単純なのは、次のようになると思います。
xyz_targets = ('www.youtube.com', 'youtu.be', ...)
if url.netloc in xyz_targets:
doXYZ()
あるいは:
actions = {'www.youtube.com': doXYZ,
'youtu.be': doXYZ,
...
}
actions.get(url.netloc, doNothing)()
xyz_targets
または、構築または構築のために構成ファイルを解析する同様のアイデアの変形actions