python进阶之Python 的赋值和引用

  • ==, is: == 判断的是值, is 判断的是内存地址 (即对象的id)

  • 小整数对象: [-5, 256]

  • 练习1: 说出执行结果

    def extendList(val, lst=[]):
        lst.append(val)
        return lst
    
    list1 = extendList(10)
    list2 = extendList(123, [])
    list3 = extendList('a')
    
  • copy, deepcopy 的区别

    • copy: 只拷贝表层元素
    • deepcopy: 在内存中重新创建所有子元素
  • 练习2: 说出下面执行结果
    from copy import copy, deepcopy
    from pickle import dumps, loads

    a = ['x', 'y', 'z']
    b = [a] * 3
    c = copy(b)
    d = deepcopy(b)
    e = loads(dumps(b, 4))
    
    b[1].append(999)
    b.append(777)
    
    c[1].append(999)
    c.append(555)
    
    d[1].append(999)
    d.append(333)
    
    e[1].append(999)
    e.append(111)
    
  • 自定义 deepcopy: my_deepcopy = lambda item: loads(dumps(item, 4))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值