zoukankan      html  css  js  c++  java
  • 变量的赋值与修改

    # 在我们修改变量的时候,我们是在修改什么
    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)
    
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    JS创建类的方法--简单易懂有实例
    CommonJS, AMD, CMD是什么及区别--简单易懂有实例
    JS回调函数--简单易懂有实例
    单链表应用(2)--使用快慢指针,如何判断是否有环,环在哪个节点
    单链表应用(1)--使用快慢指针,找链表中间值
    自定义线性结构-有序Map
    C++中final和override
    双向链表翻转
    检查“()”是否匹配并返回深度
    是否存在K
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15076871.html
Copyright © 2011-2022 走看看