Python 喂猫没有switch case

编程入门 行业动态 更新时间:2024-10-26 21:20:02

<a href=https://www.elefans.com/category/jswz/34/1770869.html style=Python 喂猫没有switch case"/>

Python 喂猫没有switch case

1. 开篇

学习编程语言的时候,我会特别关注它的历史。因为它一定是一个演变 的结果,而那些高深的理论,对不起,大多数后面的总结。翻译成中文后,大概只有大学老师会觉得浑然天成吧。

原文链接:.html
后面会开始记录学习笔记,我尝试去对比我所熟悉的语言,去总结点滴的理解。

2. 正题:喂猫没有switch-case

将switch case中的试用场景进行分类:

  1. 够简单,简单到只是几个赋值语句;
  2. 够复杂,复杂到调用完全不相干的方法/函数;
  3. 既不复杂又不简单;

如果你是个老司机,很容易看不惯switch-case里面有一段能飞起的代码。复杂逻辑老老实实封个函数呗,顾及下用mac编程(装逼)的呗。第3中情况可以向第2中情况演变。

针对几种语言,来点比较:

  1. C,只有赋值的情况,用switch-case就是很优雅的,因为1. list/map在C中,就是自己需要实现的,也会降低代码的可读性;2 . 没有反射机制,用函数指针并不能避开switch-case;
  2. JAVA,只有赋值的情况,map可以轻松应付;对于方法,确实也可以通过反射避开。调用方式并不优雅,你需要拼装参数列表,需要去调invoke;
  3. Python, 只有赋值的情况,Python的dictionary 有map等同的功能。Python可以用反射,根据名称获取函数。但是显然比java来得要优雅。抄段代码过来:

    def visit_a(self, ...):
    ...
    def dispatch(self, value):
    method_name = 'visit_' + str(value)
    method = getattr(self, method_name)
    method()

可以优雅地不用,喂猫要用这么庞大的句式呢?

更多推荐

Python 喂猫没有switch case

本文发布于:2024-02-10 15:51:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676114.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Python   switch   case

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!