Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中如何使用if/else逻辑对值求反?_Python - Fatal编程技术网

在python中如何使用if/else逻辑对值求反?

在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

我是Python的初学者。我有两个值要设置if/else逻辑。一个是“对象默认值”,另一个是“对象覆盖”

我的问题的基本总结是,我想设置一个if/else语句,检查obj.override是否为'true',然后将obj.default_值更改为'true'。如果对象覆盖==“false”,则对象默认值应更改为“false”。最后一个选项是,如果obj.override==“none”,则obj.default\u值应保持为当前值

更好的是,如果可能的话,我希望obj.override否定obj.default\u值的值。真变假,反之亦然。我想设置一个覆盖默认值的新函数。我希望我能很好地解释这一切,并将非常感谢任何帮助

以下是我当前引用的两个值的代码:

    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这是真的,但提供的代码似乎是在检查字符串值,而不是直接检查布尔值。这是否回答了您的问题?