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

2018 年 4 月 26 日
 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 那一段如果很长的话就重复很多了,怎么写更好?

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

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

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

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

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

© 2021 V2EX