提高代码可读性,让python脚本更加优雅

sir*_*von 1 python refactoring if-statement switch-statement

有哪些代码结构/编程技术可以避免这种情况:

  if url.netloc  == "www.youtube.com" or "youtu.be" or "soundcloud.com or //
  "instagram.com" or "vine.co" or ETC ETC
     do XYZ
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 5

以下行

url.netloc == "www.youtube.com" or "youtu.be" or "soundcloud.com" or "instagram.com"
Run Code Online (Sandbox Code Playgroud)

如下:

(url.netloc == "www.youtube.com") or ("youtu.be") or ("soundcloud.com") or ("instagram.com")
Run Code Online (Sandbox Code Playgroud)

并且它总是产生,True因为如果用作谓词,非空字符串将被视为真值.

in改为使用如下:

if url.netloc in ("www.youtube.com", "youtu.be", "soundcloud.com", "instagram.com", ..):
Run Code Online (Sandbox Code Playgroud)

或者使用可以使用or,但它需要您重复or url.netloc ==多次.