sir*_*von 4 python optimization if-statement data-structures
我试图避免使用if/elif/else语句的复杂网络.
我可以用什么pythonic方法来实现我的目标.
这就是我想要实现的目标:
我的脚本会收到一大堆不同的网址,
youtube.com,hulu.com,netflix.com,instagram.com,imgur.com等等可能是1000多个不同的域名.
我将为每个不同的站点调用一个函数/一组不同的指令.
所以....
if urlParsed.netloc == "www.youtube.com":
youtube()
if urlParsed.netloc == "hulu.com":
hulu()
and so on for 100s of lines....
Run Code Online (Sandbox Code Playgroud)
无论如何都要避免这种做法...如果xyz网站做funcA,如果xyz网站做funcB.
我想用它作为一个真实世界的课程来学习我的python代码的一些高级结构.所以请随时指导我学习Python或编程的基本知识.
Mar*_*ers 12
使用调度字典映射域来运行:
def default_handler(parsed_url):
pass
def youtube_handler(parsed_url):
pass
def hulu_handler(parsed_url):
pass
handlers = {
'www.youtube.com': youtube_handler,
'hulu.com': hulu_handler,
}
handler = handlers.get(urlParsed.netloc, default_handler)
handler(urlParsed)
Run Code Online (Sandbox Code Playgroud)
Python函数是第一类对象,可以像任何其他对象一样作为值存储在字典中.
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |