相关疑难解决方法(0)

如果有的话,在Python中使用'is'关键字?

今天我is在Python中学习了关键字,并尝试了以下方法:

>>> x=2+2
>>> y=4
>>> x is y
True
Run Code Online (Sandbox Code Playgroud)

我开始尝试is整数,因为我知道答案是False- 所以我发现结果非常令人惊讶!为了给出一些上下文,我的背景是C++和C#,其中值类型和对象类型之间存在区别.在Python中,正如我现在所知,一切都是引用类型.

看来,原因x is yTrue是因为在这个问题解释的一样,怎么是"是"用Python实现关键字?,与使用is字符串有关.即运行时环境通过共享或"实际"整数来保存内存,就像它对字符串一样 - 这在问题的答案中有更详细的解释:Python"is"运算符在我初始化后发现的整数表现出乎意料帖子.

我发现令人惊讶的另一件事是is返回的值是依赖于实现的.这与我的主要问题有关.在引用的关于iswrt字符串实现的问题中,有一些关于何时使用的讨论is,有几个用户表示他们(几乎)从不使用它.所以我的问题是,什么时候应该使用is关键字?什么是规范示例或一般规则?

python keyword

12
推荐指数
2
解决办法
2704
查看次数

标签 统计

keyword ×1

python ×1