if语句没有条件

DiM*_*ria 7 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
Run Code Online (Sandbox Code Playgroud)

#I想要理解这个表达,它是什么意思?"如果x:"是什么意思?通常在if语句之后总是有一个条件,但是这个没有.我怎么理解这个?它在这个功能中做了什么?

小智 7

它是检查x是真还是假(二进制).

if x:

当x值不等于0(当x是数字时)时返回true,如果它至少有一个字符(当x是字符串时),则返回true.如果x等于'0'或''或'None',则返回false

对于Eg:

a = 10
if a:
    print a
Run Code Online (Sandbox Code Playgroud)

这打印'10'

a = 'DaiMaria'
if a:
    print a
Run Code Online (Sandbox Code Playgroud)

打印'DaiMaria'

a = 0.1
if a:
    print a
Run Code Online (Sandbox Code Playgroud)

打印0.1

a = 0
if a:
    print a
Run Code Online (Sandbox Code Playgroud)

返回False时不打印任何内容.

a = None
if a:
    print a
Run Code Online (Sandbox Code Playgroud)

没有任何打印,因为它返回False.

a = ''
if a:
    print a
Run Code Online (Sandbox Code Playgroud)

没有任何打印,因为它返回False.


小智 5

条件是 x 是否为真值