python or的用法_【IT专家】python中 and和or用法

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

python

and

or

用法

2017/05/05

0

Python

中,

and

or

执行布尔逻辑演算,如你所期待的一

样。但是它们并不返回布尔值,而是返回它们实际进行比较的值之一。

(类似

C++

里面的

||

的短路求值)

(在布尔环境中,

0

[]

()

{}

None

为假;其它任何东西都为真。但是可

以在类中定义特定的方法使得类实例的演算值为假。

and

实例:

[python] view plain copy print?

a

and

b

b

”and

b

a

and

b

and

c

c

‘a’ and ‘b’’b’ ‘‘ and ‘b’’’ ‘a’ and ‘b’ and ‘c’’c’

从左到右扫描,返回第一个

为假的表达式值,无假值则返回最后一个表达式值。

or

实例:

[python] view plain copy print?

a

or

b

a

”or

b

b

”or[]or{}{} ‘a’ or

‘b’’a’ ‘‘ or ‘b’’b’ ‘‘ or [] or{}{}

从左到右扫描,返回第一个为真的表达式值,无真值

则返回最后一个表达式值。

and-or

搭配:

[python]

view

plain

copy

print?

a=“betabin”

b=”python”

1andaorb

betabin

0andaorb

python

a

=

“betabin”

b

=

“python”

1

and

a

or

b’betabin’

0

and

a

or

b’python’

看起来类似于于我们C++中的条件运算符(

bool

a

b

,是的,当

a

true

的时候是一样的。但是,当

a

false

的时候,就明显不同了。

如果坚持要用

and-or

技巧来实现条件运算符的话,可以用种安全的方法:

[python]

view

plain

copy

print?

a=”“

b=”betabin”

(1and[a]or[b])[0]”

a

=

““

b

=

“betabin” (1 and [a] or [b])[0]’’

就是万能的

[]

,把

a

为假的可能性给抹杀掉,然后通过

[0]

再获得(因为要通过

[0]

获得元素,因此

b

也得加上

[]

这个

and-or

技巧主要在

lambda

中使用。

tips:

感谢大家的阅读,本文由我司收集整编。仅供参阅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值