if语句为'str'或'int'?

时间:2018-03-17 15:49:07

标签: python

我的问题相对简单。在以下示例中,'str'比'int'更容易吗?

slot_1 = 'med kit'
if slot_1 == 'med kit':
    print('med kit ready')

运行得更快,而且比

更好
slot_1 = 0
#0 represents med kit
if slot_1 == 0:
    print('med kit ready')

或者是使用整数更加pythonic的那个,并且运行得更好? 如果我有多个东西,而不仅仅是med kit,那会怎么样?使用字符串会更好吗?如果您需要更多信息,我可以编辑。

3 个答案:

答案 0 :(得分:2)

您可以查看Python标准库,了解最具Pythonic的内容。

decimal module和re模块都使用命名常量字符串而不是整数常量。

在Python 3中,enum模块提供IntEnum,以便您获得可读名称的可懂度和int的好处(可以排序并可以进行数学运算等)。

答案 1 :(得分:1)

有数百个答案,取决于太多因素。

但如有疑问,请参阅Zen of Python

  

明确比隐含更好。

  

可读性计数。

可能建议去

slot_1 = 'med kit'
if slot_1 == 'med kit':
    print('med kit ready')

因为它更具可读性

答案 2 :(得分:1)

如果你只对速度感兴趣,那么if if语句基本上没有显着差异,但是如果你有很多相等的测试,那么使用字符串会累积。这是10,000,000次运行的测试:

npm install --save google-auth-library

输出:

form {
   display: block;
   margin: 0 auto;
   text-align: center;
}