Skip to content Skip to sidebar Skip to footer

What Does "variable Or 0" Mean In Python?

What is the meaning of the following statement in python: x = variable_1 or 0 variable_1 is an object. What value does x have above? And what is the type of x?

Solution 1:

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

Solution 2:

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

Solution 3:

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

Solution 4:

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).


Post a Comment for "What Does "variable Or 0" Mean In Python?"