我可以使用«is»与静态变量进行比较吗?

莫文

Python的有关模块PEP 435指出,应与枚举器进行比较,而不是通常的我想这是因为枚举成员是静态的,并且永远不会改变,所以这是有道理的。enumis==

出于兼容性原因,我正在使用Python 2.7.9,并且我不想在项目中引入太多新库,因此我不打算使用该enum模块的Python 2.7.9端口因此,我改为使用一种更简单的枚举形式:

class Color(object):
    red = 1
    green = 2
    blue = 3

在这种情况下,is进行比较还可以吗?更笼统地说,可以将在程序生存期内不会发生变化的静态类变量与is而不是进行比较==,而不管它们的类型如何?

注意:我认为仅静态变量的名称将用于赋值/比较,而不是其值。

琼斯·哈珀

你能?是的-在CPython中可以插入小整数,因此无论x = 2何处获取x is Color.green都将求值True

你应该?没有一方面,它没有任何概念的意义-你真的不在乎,如果他们是完全相同的对象(身份证is),或者他们只是是否具有相同的值(平等==)?如果值源自类本身以外的其他地方,例如数据库或用户输入,该怎么办?另外,小整数的intern是实现细节,因此不应依赖。

更笼统地说,可以将在程序生存期内不会发生变化的静态类变量与is而不是进行比较==,而不管它们的类型如何?

,因为无论它们是否为“静态”,这都可能失败

>>> class Demo(object):
    class_attr = "some string"


>>> "some string" is Demo.class_attr
False

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以使用mysql的select语句的结果将其与变量进行比较吗?

来自分类Dev

内联变量仿真:我可以使用全局静态引用来强制函数中静态变量的初始化顺序吗?

来自分类Dev

我可以从外部访问函数内部的静态变量吗

来自分类Dev

我可以使用:lt选择器和动态变量吗?

来自分类Dev

我可以使用三个“或”逻辑运算符与 PHP 中的一个变量进行比较吗

来自分类Dev

进行静态变量

来自分类Dev

可以使用静态方法进行匕首注入吗?

来自分类Dev

是否可以使用CoffeeScript遍历类的静态变量和方法?

来自分类Dev

在viewController之间进行转换时,使用静态变量存储变量的良好做法吗?

来自分类Dev

我们可以在构造函数内部初始化静态变量吗?

来自分类Dev

我们可以动态地为C中的静态变量分配内存吗?

来自分类Dev

我可以使用其他类的静态方法吗?

来自分类Dev

我可以使用弱的静态指针吗?

来自分类Dev

我可以在Golang中将变量类型与。(type)进行比较吗?

来自分类Dev

我可以使用通配符比较字符串吗?

来自分类Dev

我可以使用 if 来比较包含参数的枚举吗?

来自分类Dev

可以使用与部署它不同的链码访问世界状态变量吗?

来自分类Dev

静态变量会进行多次初始化吗?

来自分类Dev

Java:您可以使用变量进行转换吗?

来自分类Dev

Java:您可以使用变量进行转换吗?

来自分类Dev

成员函数中的静态变量可以线程安全吗?

来自分类Dev

静态变量可以用作@synchronized 参数吗?

来自分类Dev

Dafny 中可以存在静态变量吗?

来自分类Dev

我在单例类中需要静态变量吗?

来自分类Dev

我可以使用https进行本地开发吗?

来自分类常见问题

我可以使用starts_with对列进行分组吗?

来自分类Dev

我可以使用Sidekiq进行连续处理吗?

来自分类Dev

我可以使用STTwitter库进行Twitter登录吗?

来自分类Dev

我可以使用<nav>标签进行分页吗?

Related 相关文章

  1. 1

    我可以使用mysql的select语句的结果将其与变量进行比较吗?

  2. 2

    内联变量仿真:我可以使用全局静态引用来强制函数中静态变量的初始化顺序吗?

  3. 3

    我可以从外部访问函数内部的静态变量吗

  4. 4

    我可以使用:lt选择器和动态变量吗?

  5. 5

    我可以使用三个“或”逻辑运算符与 PHP 中的一个变量进行比较吗

  6. 6

    进行静态变量

  7. 7

    可以使用静态方法进行匕首注入吗?

  8. 8

    是否可以使用CoffeeScript遍历类的静态变量和方法?

  9. 9

    在viewController之间进行转换时,使用静态变量存储变量的良好做法吗?

  10. 10

    我们可以在构造函数内部初始化静态变量吗?

  11. 11

    我们可以动态地为C中的静态变量分配内存吗?

  12. 12

    我可以使用其他类的静态方法吗?

  13. 13

    我可以使用弱的静态指针吗?

  14. 14

    我可以在Golang中将变量类型与。(type)进行比较吗?

  15. 15

    我可以使用通配符比较字符串吗?

  16. 16

    我可以使用 if 来比较包含参数的枚举吗?

  17. 17

    可以使用与部署它不同的链码访问世界状态变量吗?

  18. 18

    静态变量会进行多次初始化吗?

  19. 19

    Java:您可以使用变量进行转换吗?

  20. 20

    Java:您可以使用变量进行转换吗?

  21. 21

    成员函数中的静态变量可以线程安全吗?

  22. 22

    静态变量可以用作@synchronized 参数吗?

  23. 23

    Dafny 中可以存在静态变量吗?

  24. 24

    我在单例类中需要静态变量吗?

  25. 25

    我可以使用https进行本地开发吗?

  26. 26

    我可以使用starts_with对列进行分组吗?

  27. 27

    我可以使用Sidekiq进行连续处理吗?

  28. 28

    我可以使用STTwitter库进行Twitter登录吗?

  29. 29

    我可以使用<nav>标签进行分页吗?

热门标签

归档