有一个程序通过枚举员工来搜索数据库,通过可选参数检查他们,例如:
position = input('enter position')
sex = input('sex')
age = input('age')
...etc
然后程序通过枚举(出于某些原因,需要枚举)检查每个员工是否符合输入的标准,如果匹配,则显示该员工,例如,在print(). 整个问题是参数是可选的,如果没有输入,则分配变量null。首先想到的是检查所有参数组合,例如:
if position != null and sex != null and age != null:
print('yep!')
elif position == null and sex != null and age != null:
print('yep2!')
...etc
它类似于拐杖,如果有很多参数,将无法对所有组合进行排序。如何在没有拐杖的情况下以 Pythonic 方式组织检查?
首先,我建议分配不为空的空变量,而是为无 - 在这种情况下,谓词将正常工作。然后你做一个简单的迭代器:
我们得到:
一般来说,如果您有多个变量,我建议您将它们放入字典中。那么一切都会简单得多——不需要手动重写迭代器的循环:
我们得到: