python基础之if条件判断

结论:
if 后的多个条件依次判断,遇到不符合的条件后直接跳转到else,不在执行之后的条件.
如下代码# 1中,如果 tiaojian1() == False , 做完该判断,获取到false后,直接进入到else环节.

if后面条件的写法:

  1. and ,or,not,()来链接各个条件
  2. any([]),all([])等方法来判断多个条件
  3. 直接跟一个对象,判断对象是否是空

具体使用哪一个,需要看具体逻辑和场景需要.

def tiaojian1(r=True):
    print('tiaojian1',r)
    return r

def tiaojian2(r=True):
    print('tiaojian2',r)
    return r

def tiaojian3(r=True):
    print('tiaojian3',r)
    return r

f=False
# 1
print('# 1','-'*10)
if tiaojian1(False) and tiaojian2() and tiaojian3():
    print('all True')
else:
    print('one false')
    
# 2
print('# 2','-'*10)
if all([tiaojian1() ,tiaojian2(False) ,tiaojian3()]):
    print('all True')
else:
    print('one false')

# 3
print('# 3','-'*10)
a_obj = [0]
if a_obj:
	# 1, ' ', [[]], [0], set([0]), {None:None} 这些看着空实际都是被if判断为True的
    print('a_obj not None')
else:
	# 0, '', [], set(), {}, dict() 只有这种才能判断为False
    print('a_obj is None or empty or 0')

# 自定义类
class a(object):
    key=None
a_obj = a()
print(a_obj, a_obj.key)
if a_obj:
	# 1, ' ', [[]], [0], set([0]), {None:None} 这些看着空实际都是被if判断为True的
    print('a_obj not None')
else:
	# 0, '', [], set(), {}, dict() 只有这种才能判断为False
    print('a_obj is None or empty or 0')

>>>
# 1 ----------
tiaojian1 False
one false
# 2 ----------
tiaojian1 True
tiaojian2 False
tiaojian3 True
one false
# 3 ----------
a_obj not None
<__main__.a object at 0x7f9fb56d0f60> None
a_obj not None
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值