• 变量的赋值与修改


    # 在我们修改变量的时候,我们是在修改什么
    num1=123
    num2=num1 # num1的值赋值给了num2
    num1+=333 # num1的值+333
    print('num1=',num1)
    print('num2=',num2)
    # 变量空间的分配、变量名的指向
    """
    不可变类型对象和可变类型对象。
    数字numbers、字符串string、元组tuples等是不可变类型对象
    列表list、字典dict、集合set等是可变类型对象
    
    """
    """
    不可变类型对象就是一旦生成,就不可更改的对象,
    而可变类型对象是生成之后可以进行增删改等修改操作的对象
    对于不可变类型对象的修改操作实际上是创建了一个新的对象,
    然后将变量名(即标签)贴在新的对象上,这样我们就以为是修改了该变量了。
    对于可变类型对象的修改操作就是对原对象的修改。
    """
    print('
    ')
    list1=['A','B','C']
    list2=list1
    list1.append('D')
    print('list1=',list1)
    print('list2=',list2) # 这里的list2等于list1
    
    
    # 创建两个完全一样的可变类型对象
    
    import copy
    mylist1=[[1,2,3],2,3]
    mylist2=mylist1                    #标签赋值
    mylist3=mylist1[:]         # 只拷贝的父对象,而不会拷贝里面的子对象,子对象仍然是原来对象的子对象
    #切片赋值,或者称之为浅拷贝,相当于mylist3=copy.copy(mylist1)
    mylist4=copy.deepcopy(mylist1) #深度拷贝赋值
    # 对父对象进行了拷贝,也对子对象进行了拷贝。是一个全新的对象了
    
    mylist1[1]= 10
    mylist1[0][1]=11 #浅拷贝的话只对嵌套列表有影响么,也许吧
    print('mylist1=',mylist1)
    print('mylist2=',mylist2)
    print('mylist3=',mylist3)
    print('mylist4=',mylist4)
    
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    二分查找思路以及可能出现情况对应解决办法
    多线程知识点大纲
    服务器consul启动方法
    大白话带你认识 ZooKeeper !重要概念一网打尽!
    「Netty实战 02」手把手教你实现自己的第一个 Netty 应用!新手也能搞懂!
    从 BIO、NIO 聊到 Netty,最后还要实现个 RPC 框架!
    什么是P问题、NP问题和NPC问题
    期刊汇总
    Typora 使用
    TCA 复习
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15076871.html
Copyright © 2020-2023  润新知