python - 一种方法如何比另一种更 Pythonic?

标签 python

<分区>

显然

方法一

if var in ['string one', 'string two']:
    do_something()

比:

更 Pythonic

方法二

if var == 'stringone' or var == 'stringtwo':
    dosomething()

为什么方法 1 被认为比方法 2 更 Pythonic?

最佳答案

To be Pythonic is to use the Python constructs and datastructures with clean, readable idioms.

发件人:What is Pythonic?

简单地说,第一个比第二个更容易阅读——它的样板更少,开销也比第一个少。任何 Python 程序员都可以查看第一个,并看到有一个检查对象列表,它比第二个更像简单的英语。考虑一下您是否扩展了被检查对象的列表 - 第一个示例将如下所示:

if var in ['string one', 'string two', 'string three']:
    # If var is one of string one, string two, or string three.
    do_something()

第二个听起来像:

if var == 'stringone' or var == 'stringtwo' or var == stringthree:
    # If var is equal to stringone, or var is equal to stringtwo, or var is equal to stringthree.
    dosomething()

关于python - 一种方法如何比另一种更 Pythonic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12774736/

相关文章:

python - Python2.7 找不到 psycopg2 模块

java - 存在哪些用于创建原始多部分电子邮件的库?

python - 通过php以root权限运行Python文件

python - 上下文变量不会显示在 Django 模板中

python - 发送到未监听的ip/port时,Python的UDP崩溃

Python NumPy 数组数据类型

python - 如何在 Ubuntu 9.10 上安装 Python 2.7

python - 在 Cython 中创建不等长的 numpy.ndarray 列表

python - 根据列表中成员的可用性过滤元组列表

python - Bfs 修改以在有向图中查找兼容路径