ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

关于python中身份标识“is“与值运算符“==“

关于python中身份标识“is“与值运算符“==“ 本文关联驻留机制, 参照博客园, 其中, 借助身份标识“is”来判定, 是凭借内存地址去判断两个究竟是否相等, 然而, 关系运算符“”是依靠值来判断两个到底是否相等。例如str1 false1 str2 false1 str3 false is great str4 false is great print(str1 str2) # 输出True print(str2 is str1) # 输出True print(str3 str4) # 输出True print(str3 is str4) # 输出False下述为补充知识点, 关于长类型字符串, 其并非是指由数字、且英文字母、以及下划线所组成的字符串, 而是除此之外的字符串, 并且与长度并无关联。对于上面代码的结果做如下分析, 不难以发现的是, str1跟str2的值是相等的, 且二者均为短类型字符串, 它们会被存储于同一地址,因而输出结果都为True。而str3和str4即便值相等, 然而因为字符串里包含空格, 属于长类型字符串, 存储在不一样的内存地址当中, 所以在使用is进行判断时输出为False。备注: 上述代码输出的结果, 是在控制台进行展示的, 在其中, 由于变量数值相等产生的内存地址都会被加工处理为一个, 所以最终输出的结果全都为True, 就如同下面图文所呈现的这样。以上内容是由自己碰到的问题 , 添加上拿自己的实验代码去做对比之后 , 所得到的结果而形成的 , 欢迎大家把不足之处给指出来。
返回列表