首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >简短的'if-else‘的Python语句

简短的'if-else‘的Python语句
EN

Stack Overflow用户
提问于 2011-12-14 14:34:44
回答 4查看 49.7K关注 0票数 30

在C++中是否有以下if-else语句的Python版本或类似的语句:

代码语言:javascript
复制
  int t = 0;
  int m = t==0?100:5;
EN

回答 4

Stack Overflow用户

发布于 2011-12-14 14:38:58

您所指的构造称为ternary operator。Python有它的一个版本(从2.5版开始),如下所示:

代码语言:javascript
复制
x if a > b else y
票数 18
EN

Stack Overflow用户

发布于 2011-12-14 14:59:08

还有:

代码语言:javascript
复制
m = t==0 and 100 or 5

由于0是一个错误的值,我们可以这样写:

代码语言:javascript
复制
m = t and 5 or 100

这等同于第一个。

票数 3
EN

Stack Overflow用户

发布于 2020-03-17 10:33:51

我发现关键字pass-in中的第一个速记很方便。下面的例子显示了它在tkinter网格几何管理器中的使用。

代码语言:javascript
复制
class Application(Frame):
    def rcExpansion(self, rows, cols, r_sticky, c_sticky):
        for r in range(rows):
            self.rowconfigure(r, weight=r)
            b = Button(self, text = f"Row {r}", bg=next(self.colors))
            b.grid(row=r, column= 0, sticky = N+S+E+W if r_sticky == True else None)
        for c in range(cols):
            self.columnconfigure(c, weight=c)
            b = Button(self, text = f"Column {c}", bg=next(self.colors))
            b.grid(row=rows, column = c, sticky = N+S+E+W if c_sticky == True else None)

app = Application(root=Tk())
app.rcExpansion(3, 4, True, False)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8500374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档