51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1985|回复: 3
打印 上一主题 下一主题

Python 表达式 i += x 与 i = i + x 等价吗?

[复制链接]
  • TA的每日心情
    奋斗
    2017-2-5 12:58
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-2-5 13:02:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    Python 表达式 i += x 与 i = i + x 等价吗?如果你的回答是yes,那么恭喜你正确了50%,为什么说只对了一半呢? 按照我们的一般理解它们俩是等价的,整数操作时两者没什么异同,但是对于列表操作,是不是也一样呢?先看下面两段代码:

    代码1

    >>> l1 = range(3)
    >>> l2 = l1
    >>> l2 += [3]
    >>> l1
    [0, 1, 2, 3]
    >>> l2
    [0, 1, 2, 3]
    代码2

    >>> l1 = range(3)
    >>> l2 = l1
    >>> l2 = l2 + [3]
    >>> l1
    [0, 1, 2]
    >>> l2
    [0, 1, 2, 3]
    代码1与代码2中的l2的值是一样的,但是l1的值却不一样,说明 i += x 与 i = i + x 是不等价的,那什么情况下等价,什么情况下不等价呢?

    扫一扫关注公众号『一个程序员的微站』获取最新文章
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2017-2-7 16:41:52 | 只看该作者
    +号两边格式需一致。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 05:56 , Processed in 0.064842 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表