在python中如何使用if/else逻辑对值求反?
我是Python的初学者。我有两个值要设置if/else逻辑。一个是“对象默认值”,另一个是“对象覆盖” 我的问题的基本总结是,我想设置一个if/else语句,检查obj.override是否为'true',然后将obj.default_值更改为'true'。如果对象覆盖==“false”,则对象默认值应更改为“false”。最后一个选项是,如果obj.override==“none”,则obj.default\u值应保持为当前值 更好的是,如果可能的话,我希望obj.override否定obj.default\u值的值。真变假,反之亦然。我想设置一个覆盖默认值的新函数。我希望我能很好地解释这一切,并将非常感谢任何帮助 以下是我当前引用的两个值的代码:在python中如何使用if/else逻辑对值求反?,python,Python,我是Python的初学者。我有两个值要设置if/else逻辑。一个是“对象默认值”,另一个是“对象覆盖” 我的问题的基本总结是,我想设置一个if/else语句,检查obj.override是否为'true',然后将obj.default_值更改为'true'。如果对象覆盖==“false”,则对象默认值应更改为“false”。最后一个选项是,如果obj.override==“none”,则obj.default\u值应保持为当前值 更好的是,如果可能的话,我希望obj.override否定obj
def default_value_custom(self, obj):
color = 'green' if obj.default_value else 'red'
return mark_safe("<span style='color:%s'>%s</span>" % (color, obj.default_value))
default_value_custom.short_description = 'default value'
def override_custom(self, obj):
if obj.override == 'true':
return mark_safe("Always <span style='color:green'>True</span>")
elif obj.override == 'false':
return mark_safe("Always <span style='color:red'>False</span>")
else:
return obj.override
def default_value_custom(self,obj):
颜色=如果obj.default\u值为“红色”,则为“绿色”
返回标记安全(“%s”%(颜色,对象默认值))
default\u value\u custom.short\u description='default value'
def覆盖_自定义(自身、obj):
如果obj.override=='true':
返回安全标记(“始终为真”)
elif obj.override==“false”:
返回标记为“安全”(“始终为假”)
其他:
返回对象覆盖
这是一个屏幕截图以及管理视图。
让我们总结一下:
if value:
(以及while value:
)测试值是否计算为布尔值true。许多人称这种价值观为“真实的”或“真实的”
否定条件如果不是值:
则测试相反的情况,即值
的计算结果是否为布尔值false。这种价值观被称为“虚伪”
真理不是虚假的;典型的falsy值为:
- 定义为false的常量:无和false
- 任何数字类型的零:0,0.0,0j,十进制(0),分数(0,1)
- 空序列和集合:“”,(),[],{},set(),范围(0)
(引用自,单击了解更多详细信息)
bool(value)
转换为布尔值True
或False
。换句话说:truthy只是意味着bool(value)
求值为True
True
(或False
或None
)而不仅仅是任何truthy(或falsy)值。答案是:
if value is True: # or False/None
...
您要求的功能是:
def overriden(value, override):
return value if override is None else override
在Python中为
True
和False
;大写非lowercase@dawg这是真的,但提供的代码似乎是在检查字符串值,而不是直接检查布尔值。这是否回答了您的问题?