Zaz*_*Zaz 6 python printing boolean
制作变量的最佳方法是什么,就像bool一样,但是打印On或者Off不是True或者False?目前该计划正在印刷:Color: True,Color: On但更有意义.
为了记录,我最初尝试创建一个OnOff继承自bool以下的类:
class OnOff(bool):
def __str__(self):
if self: return 'On'
else: return 'Off'
Run Code Online (Sandbox Code Playgroud)
从评论中,我现在明白这bool是一个单身人士,这就是为什么这个失败的原因:
Traceback (most recent call last):
class OnOff(bool):
TypeError: Error when calling the metaclass bases
type 'bool' is not an acceptable base type
Run Code Online (Sandbox Code Playgroud)
Rah*_*hul 10
def Color(object):
def __init__(self, color_value=False):
self.color_value = color_value
def __str__(self):
if self.color_value:
return 'On'
else:
return 'Off'
def __cmp__(self, other):
return self.color_value.__cmp__(other.color_value)
Run Code Online (Sandbox Code Playgroud)
虽然这可能对你来说太过分了.:)
我最喜欢的技巧是使用bool来索引数组:
return "Color: {0}".format(['Off','On'][has_color])
Run Code Online (Sandbox Code Playgroud)
需要说明的是,此数值为False,True,0,或1.如果您还有其他内容,则必须先将其转换为布尔值.
| 归档时间: |
|
| 查看次数: |
6571 次 |
| 最近记录: |