What does “variable or 0” mean in python?

后端 未结 4 824
执笔经年
执笔经年 2020-12-09 16:04

What is the meaning of the following statement in python:

x = variable_1 or 0

variable_1 is an object. What value does x

相关标签:
4条回答
  • 2020-12-09 16:20
    x = variable_1 or 0
    

    It means that if variable_1 evaluates to False (i.e. it is considered "empty" - see documentation for magic method __nonzero__), then 0 is assigned to x.

    >>> variable_1 = 'foo'
    >>> variable_1 or 0
    'foo'
    >>> variable_1 = ''
    >>> variable_1 or 0
    0
    

    It is equivalent to "if variable_1 is set to anything non-empty, then use its value, otherwise use 0".

    Type of x is either type of variable_1 or int (because 0 is int).

    0 讨论(0)
  • 2020-12-09 16:25

    x will be initialized to variable_1 if its value is not None or False

    simple exemple :

    >>> a = None
    >>> b = 2
    >>> a or 0
    0
    >>> b or 0
    2
    
    0 讨论(0)
  • 2020-12-09 16:30

    x will be 0 if variable_1 evaluates as false, otherwise it will be variable_1

    >>> 'abc' or 0
    'abc'
    >>> '' or 0
    0
    >>> ['a', 'b', 'c'] or 0
    ['a', 'b', 'c']
    >>> [] or 0
    0
    
    0 讨论(0)
  • 2020-12-09 16:36

    If variable_1 evaluates to False , x is set to 0, otherwise to variable_1

    Think of it as

    if variable_1:
      x = variable_1
    else:
      x = 0
    
    0 讨论(0)
提交回复
热议问题