Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

if statement without a condition

Tags:

python

def f1(x,y):
      if x:    
          x = [1,2,3]
          x.append(4)
      else:
          x = 2
      return x + y

L1 = [1,2,3]
L2 = [55,66]
L3 = []
y = 3
print( f1(L3,y) )            # Line 1
print( L3 )                  # Line 2
print( f1(L1,L2) )           # Line 3
print( L1 )                  # Line 4

#I want to understand this expression, what is it saying? what does "if x:" means? usualy there is always a condition after the if statement, but this one doesn have one. how do I make sense of this? and what is it doing in this fuction?

like image 331
DiMaria Avatar asked Mar 28 '17 07:03

DiMaria


Video Answer


2 Answers

It is to check whether x is true or false(binary).

if x:

returns true when the x value is not equal to 0(when x is a number) and it returns true if it has at least a character(when x is a string). It returns false if x is equal to '0' or '' or 'None'

For Eg:

a = 10
if a:
    print a

This prints '10'

a = 'DaiMaria'
if a:
    print a

This prints 'DaiMaria'

a = 0.1
if a:
    print a

Prints 0.1

a = 0
if a:
    print a

Prints nothing as it returned False.

a = None
if a:
    print a

Prints nothing as it returns False.

a = ''
if a:
    print a

Prints nothing as it returns False.

like image 157
NMN Avatar answered Nov 15 '22 13:11

NMN


The condition is whether or not x is a truthy value

like image 27
James J. Hill Avatar answered Nov 15 '22 14:11

James J. Hill