码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python中is和==的区别,地址和重新复制后,地址变化


    简单总结

    现象描述:
    '''
    一、“编辑器“中和把赋值语句放在”同一行的cmd环境“中,相同值的不同变量会指向同一个地址
    二、交互式/cmd环境中,若赋值相同值的变量在不同行输入,那么变量也会指向不同地址
    三、程序编辑器的程序运行就相当于在交互式环境中的一行进行了编译处理。
    '''
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    is 和 ==区别

    本质区别:
    is:判断的是对象的地址是否一致
    ==:判断的是内容逻辑是否相等,例如a='ajlajgl',b='ajlajgl',a == b 则是true
    
    • 1
    • 2
    • 3

    需要注意的现象

    一、运行软件或文本编辑器中的is和交互式环境运行结果可能不同

    同样的几行代码:

    a = 1000
    b = 1000
    print(a is b)
    
    • 1
    • 2
    • 3

    1、在sublime中的运行结果

    在这里插入图片描述

    2、 在cmd的交互式环境中:

    在这里插入图片描述

    3、在cmd环境中的另一种输入方式显示不同:

    在这里插入图片描述
    从结果中分析:对同一个值(不在[-5,256]之间)赋值到不同变量,若是同时编译(不是交互式的每行都编译),则地址相同;若分行编译(cmd交互式编译),则地址不同

    二、可能和值占用内存的大小有关

    变量值在[-5,256]直接就能保证同样的值在不同行编译依然会是相同地址

    参考:https://blog.csdn.net/qq_26442553/article/details/82195061
    在这里插入图片描述
    对于这种情况,可理解为,编译器保存的小值的地址;若下次还是这个值,则直接指向这个地址

    变量若是相同字符串,一直指向同一个地址

    在这里插入图片描述

    但变量是列表时,不管是不是交换环境都指向不同地址

    相同变量名的多次赋值,在交互式多行编译时,即使值相同,地址也会改变,但若写在一行,即使在交互式编译结果也一样

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    ObjectiveC-08-OOP面向对象程序设计-类的分离与组合
    猿创征文 | 云服务器部署——将项目部署到云服务器上
    API接口原理实现及应用
    寒亭5.8万亩盐碱稻 国稻种芯·中国水稻节:山东潍坊插秧期
    基于Dijkstra、A*和动态规划的移动机器人路径规划(Matlab代码实现)
    港联证券:短债基金收益?
    [附源码]计算机毕业设计基于SpringBoot的在线作业批改系统
    python 中用opencv开发虚拟键盘------可以只选择一个单词不会出现一下选择多个
    JVM的内存结构
    深入剖析 Python 最常用数据结构:列表(List) & 元组(Tuple)
  • 原文地址:https://blog.csdn.net/weixin_43794311/article/details/127877328
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号