基于条件的Python类定义
我在Python代码库中找到了如下类似的类定义。官方文件中似乎没有类似的例子。很难通过谷歌和论坛搜索找到类似的东西。有谁能帮助我理解Python背后的原理吗基于条件的Python类定义,python,class,Python,Class,我在Python代码库中找到了如下类似的类定义。官方文件中似乎没有类似的例子。很难通过谷歌和论坛搜索找到类似的东西。有谁能帮助我理解Python背后的原理吗 class a: pass class b: pass condition = True class c(a if condition == True else b): pass a if condition==True else b是一个三元表达式 如果条件等于真否则使用b,则表示使用a作为基类 由于condition==True是Tr
class a: pass
class b: pass
condition = True
class c(a if condition == True else b): pass
a if condition==True else b
是一个三元表达式
如果条件
等于真
否则使用b
,则表示使用a
作为基类
由于condition==True
是True
,因此它使用a
:
>>> class c(a if condition == True else b): pass
>>> c.__bases__
(<class __main__.a at 0xb615444c>,)
从:
表达式x if C else y
首先计算条件C
(不是
x
);如果C
为true,则计算x
并返回其值;
否则,y
将被计算并返回其值
在更传统的三元运算符的语法中,括号内的语句相当于
条件?a:b
。如果条件b(==True
是多余的),则使用更具pythonic!哇,我怎么没找到这个。谢谢你,阿什维尼!
>>> print 'foo' if 0>1 else 'bar'
bar
>>> print 'foo' if 1>0 else 'bar'
foo