检查以下所有值的最佳方法是不是None.这是我尝试过的:
user = url_string.get('user', None)
subject = url_string.get('subject', None)
email = url_string.get('email', None)
from_address = url_string.get('from_address', None)
if not any(user, subject, email,from_address):
raise Exception('missing data')
Run Code Online (Sandbox Code Playgroud)
由于您希望定义所有这些代码,因此以下代码将非常pythonic.以来
比许可更容易请求宽恕.这种常见的Python编码风格假设存在有效的键或属性,并且如果假设被证明是错误则捕获异常.这种干净和快速的风格的特点是存在许多try和except语句.该技术与许多其他语言(如C)共有的LBYL风格形成对比.
https://docs.python.org/2/glossary.html
try:
user = url_string['user']
subject = url_string['subject']
email = url_string.get['email']
from_address = url_string['from_address']
except KeyError:
raise Exception('missing data')
Run Code Online (Sandbox Code Playgroud)
正如评论中所提到的,这确实留下了字典中的一个值为None并且可以通过测试的可能性.但是,我假设您使用get('...',None)的假设是字典不包含空值.如果确实包含空值,请考虑Moses Koledoye的解决方案.
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |