zoukankan      html  css  js  c++  java
  • 变量更改值

    字符串str:
    更改值 是把 新的值 存储在新的内存地址中,str 是不可变数据类型;
    列表list:
    更改值 是在原有的内存中,新的值覆盖老的值,list 是可变数据类型;

    不可变数据类型:整型int、浮点型float、字符串型string和元组tuple;

    可变数据类型:列表list和字典dict;

    说明:变量指向的内存地址不变,值会变的,称为可变数据类型;值不会变的,称为不可变数据类型。

    列表和字典,赋予一个变量,这个变量存的是一个指向数据内存地址的起始地址;

    整型int、浮点型float、字符串型string,赋予一个变量存的就是数据;

    -------------------------------

    a =3
    b= 5
    a,b = b,a+b #执行的时候a还是3, b还是5; 执行完了a 才变成5,b为8
    print(a)
    print(b)

    相当于:
    t = (b, a + b) # t是一个tuple
    a = t[0]
    b = t[1]


    -------------------------------
    变量内存释放:
    a = 3
    b = 3
    # a 和b 指向同一块内存,这个内存的引用为2,当这个内存的引用计数值为0的时候,才会释放这块内存
    del b #删除b变量,存放数据3的这个内存引用计数减1
    del a #删除a变量,存放数据3的这个内存引用计数减1
    # print(b)
    #现在这个存放数据3的内存引用计数为0,释放了数据3的内存;当程序运行结束后也会释放数据3的内存,因为这个时候数据3的内存引用数也为0,自然就释放了


    参考:https://blog.csdn.net/dan15188387481/article/details/49864613

  • 相关阅读:
    蓝盾杯writeup
    记一次被吊打的排位赛(writeup)
    记一次简单的PHP代码审计(SSRF案例)
    记一次简单的GetShell案例
    斯坦福cs231n计算机视觉经典课程笔记(更新中)
    centos8 下配置 uwsgi + Django
    C++坑点随笔
    matlab调教日记 ---- 语法问题汇总
    matlab调教日记 --- debug篇
    MySQL解决中文编码问题
  • 原文地址:https://www.cnblogs.com/lighthouse/p/9334127.html
Copyright © 2011-2022 走看看