请问下 Python 中两个 if 段有同样的语句怎么写更优雅?

2018-04-26 08:59:02 +08:00
 coolair

例如:

if a:
    do_something_a()
    print '1'
    print '2'
if b:
    do_something_b()
    c, d = test_c()
    if c and d:
        print '1'
        print '2'

上面 print 那一段如果很长的话就重复很多了,怎么写更好?

2912 次点击
所在节点    问与答
9 条回复
kifile
2018-04-26 09:09:15 +08:00
print 抽成一个单独的方法就好了呀
vegito2002
2018-04-26 09:11:55 +08:00
if a do a
if b do b
if a or (b and test_c[0] and test_c[1]) do printprint
Akikiki
2018-04-26 09:17:27 +08:00
加个 flag=False
if 判断完之后
如果 flag 为 True 再 print
Akikiki
2018-04-26 09:18:09 +08:00
@Akikiki 一楼的更好一点。
kamen
2018-04-26 09:20:37 +08:00
IDE 点几下就抽出一个函数了
xiaoheijw
2018-04-26 09:41:09 +08:00
@kamen 还有这种操作?
wwqgtxx
2018-04-26 11:28:02 +08:00
@xiaoheijw pycharm 大法好
cominghome
2018-04-26 13:29:04 +08:00
我也想问,比如有很多判断用户输入的(可能有十几种选择,进行不同的操作),这样一个个 if 判断感觉有点蠢,目前想到的办法是把可能的输入与对应的操作抽象一下,然后写到字典里面去判断。除此以外还有什么魔法吗?
rogwan
2018-04-26 13:37:18 +08:00
Python 没有 switch case,Python 官方推荐用字典映射来实现条件切换。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/449950

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX