Python 链式比较

14 浏览
0 Comments

Python 链式比较

这个问题已经有了答案

简化链接比较

我有这个代码:

if self.date: # check date is not NoneType
    if self.live and self.date <= now and self.date >= now:
         return True
return False

我的IDE显示:这看起来应该简化,即Python链接比较。

什么是链接比较,如何简化?

admin 更改状态以发布 2023年5月21日
0
0 Comments

self.age <= now and self.age >= now

可以简化为:

now <= self.age <= now

但由于只有在 self.age 等于 now 时才为 True,我们可以将整个算法简化为:

if self.date and self.live and self.age==now:
   return True
return False

如果要检查年龄是否在某个范围内,则使用链式比较:

if lower<=self.age<=Upper:
     ...

或者:

if self.age in range(Lower, Upper+1):
     ...

0
0 Comments

下面展示了一个链接比较的示例。

age = 25
if 18 < age <= 25:
    print('Chained comparison!')

请注意,底层实现与下面显示的完全相同,只是看起来更好看。

age = 25
if 18 < age and age <= 25:
    print('Chained comparison!')

0