为了账号安全,请及时绑定邮箱和手机立即绑定

基于条件的Python类定义

基于条件的Python类定义

繁星点点滴滴 2021-03-29 21:30:27
我在Python代码库中找到了如下类似的类定义。官方文件中似乎没有类似的例子。很难在Google上找到类似的东西并在论坛中搜索。有人可以帮助我了解其背后的Python原理吗?class a: passclass b: passcondition = Trueclass c(a if condition == True else b): pass
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

a if condition == True else b 是三元表达式。


a如果condition等于Trueelse ,则表示用作基类b。


由于condition == True是True所以它使用a:


>>> class c(a if condition == True else b): pass

>>> c.__bases__

(<class __main__.a at 0xb615444c>,)

例子:


>>> print 'foo' if 0>1 else 'bar'

bar

>>> print 'foo' if 1>0 else 'bar'

foo

从文档:


该表达式x if C else y首先计算条件,C而不是 x;如果C为true,x则进行评估并返回其值;否则,y将求值并返回其值。


查看完整回答
反对 回复 2021-04-05
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信