python or的用法_在Python字符串中使用“and”和“or”运算符

本文探讨了在编程中如何优雅地处理参数为None的情况,建议在参数为None时使用空字符串代替。文章解释了Python中的and和or运算符的工作原理,并提供了更清晰的if-else表达式作为替代方案,提高代码可读性。还提醒开发者遵循PEP308关于条件表达式的指导原则。
摘要由CSDN通过智能技术生成

假设您正在使用参数的值,但如果该值为None,那么您更愿意使用空字符串“”而不是None.你一般会做什么?

if parameter:

# use parameter (well your expression using `" " + parameter` in this case

else:

# use ""

这就是表达式正在做的事情.首先,你应该了解什么和和或运算符:

> a和b如果a为True则返回b,否则返回a.

> a或b如果a为True则返回a,否则返回b.

所以,你的表达:

parameter and (" " + parameter) or ""

这实际上相当于:

(parameter and (" " + parameter)) or ""

# A1 A2 B

# A or B

在以下情况下如何评估表达式:

>参数 – A1被评估为True:

result = (True and " " + parameter) or ""

result = (" " + parameter) or ""

result = " " + parameter

>参数 – A1为无:

result = (None and " " + parameter) or ""

result = None or ""

result = ""

作为一般建议,对于条件表达式,使用A if C else B形式表达式会更好,更具可读性.所以,你应该更好地使用:

" " + parameter if parameter else ""

而不是给定的表达式.有关if-else表达式背后的动机,请参阅PEP 308 – Conditional Expression.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值