Python 中实现 switch, 真的有这个必要吗?
最近休假回老家, 就在长沙面了几场 Python 的面试, 也好为以后回老家发展做打算, 不得不说, 这几场面试的面试官都颇为奇葩(还有点自以为是). ( 有点想知道, 整体技术氛围如此, 还是我遇到的只是特例?)
一个例子: Python 中怎么写 switch ?
我: 直接写 if-else 就可以了, 简单清晰, 别人很容易看懂.
对方: (似乎不满意) 我是说, 怎么实现 switch ?
我: ??? 如果非要模拟这种写法, 可以用 dict 做一做分支路由, 可以实现类似 switch 的效果. 不过写 if-else 是最好的, 不花哨, 实用
对方: (似乎还是不满意) 巴拉巴拉.... 我觉得你对技术没有热情.
我: ?????? ( 我当时就预感接下来会有更多奇葩情况出现, 于是以 『这只是主观问题, 每个人有不同看法, ,口味不同』为由, 快速地跳过了这道题)
果然, 更多奇葩问题出现了, 面完之后, 当即在心中, 将这家公司拉入黑名单.
( 结论: 回老家发展, 可能是一个美好的幻想? 还不如先在一线赚钱, )
上面都是瞎扯淡, 找找共鸣, 大家看看就好 :)
下面是技术问题:
那么, 请教 V 友大佬: Python 中实现 switch, 真的有这个必要吗? 你们平时是如何做的? 这个帖子, 不可避免地, 又被上升到价值观判断了, 这是我不愿意看到的 :)
面试官想什么, 我还真不知道, 不过『提一个明确的问题』, 也是一个面试官的基本素养吧?
另外, 沟通交流, 尊重是相互的, 对方给我的感觉就是『自以为是, 片面地给别人打标签』, 这点基本的判断, 我个人还是有的 ( 这里, 我 judge 了别人, 是我的错, 希望我的感觉是错误的, 面试官确实是一个世外高人, 确实这个问题别有深度 :) )
当然我也不是那种无聊的人, 非要将别人 judge 一番, 才满足, 毕竟我怎么怎么样, 也影响不到别人.
至少我也不说别人公司的名字, 对方的名字.
(只是发出来, 增加一下生活的调剂罢了, 大佬们千万不要随便 judge 别人哦, 也不要做价值观判断 :)
) 这个帖子, 不可避免地, 又被上升到价值观判断了, 这是我不愿意看到的 :)
面试官想什么, 我还真不知道, 不过『提一个明确的问题』, 也是一个面试官的基本素养吧?
另外, 沟通交流, 尊重是相互的, 对方给我的感觉就是『自以为是, 片面地给别人打标签』, 这点基本的判断, 我个人还是有的 ( 这里, 我 judge 了别人, 是我的错, 希望我的感觉是错误的, 面试官确实是一个世外高人, 确实这个问题别有深度 :) )
当然我也不是那种无聊的人, 非要将别人 judge 一番, 才满足, 毕竟我怎么怎么样, 也影响不到别人.
至少我也不说别人公司的名字, 对方的名字.
(只是发出来, 增加一下生活的调剂罢了, 大佬们千万不要随便 judge 别人哦, 也不要做价值观判断 :)
) ----------------------- 以下是精选回复-----------------------
答:别说没必要,说不定哪天 python 新版本就真给加上了,,毕竟现在 python 每个新版本都会加新语法
答:条件多的话,倾向用字典
答:PEP-3103 的话,十年前就被拒掉了 https://www.python.org/dev/peps/pep-3103/
答:年轻就在一线赚钱吧……一线玩的 high 啊。
家里挺富裕那就无所谓了。
答:我觉得当大家面试遇到奇葩问题的时候,应该转变一下想法,面试官出题的主要意图不是这道题有什么意义,更多的是考察以你的能力是否实现。能实现不代表实际中让你去这么应用。
答:我发现大多数人遇到一个自己答不出来的陌生问题,第一反应是反驳这道题有什么意义。
答:是没这必要。不过就像有的面试问你排序,实际开发中谁自己写排序?面试主要是看你的思维模式及解决问题的能力,我是觉得这个面试官没毛病。
答:赞同楼上,的确别人问你怎么实现,你回答有什么意义,他再问你,显然面试官没毛病。
答:有必要,原因是,写单元测试的时候可以少写很多。
答:赞同楼主,没意义的问题。
退一步讲楼主你也讲了实现的思路了呀,条件分支多的话搞一个字典,这不就结了么。不知道那位面试官还想怎么样。
答:三个以内条 if,超过 3 条以上字典模拟 switch
答:其实你要学习一点:
有人问你一个「明显」没有意义的问题时,这个人明显带有意义,而且这个意义和问题本身内容无关
例如:
你把月亮摘下来
我和你妈掉到水里,先救谁
答:换个公司
0条评论