zoukankan      html  css  js  c++  java
  • python-12-变量

    1、变量的引用

      变量和数据都是保存在内存中的

      在python中函数的参数传递,以及返回值都是靠引用传递的

      引用的概念

        变量和数据是分开储存的

        数据保存在内存中的一个位置

        变量中保存着数据在内存中的地址

        变量中记录数据的地址就叫做引用

        使用id()函数可以查看保存数据所在的内存地址

      注意:如果变量已经被定义,在给变量赋值时,本质上是修改了数据的引用,

        变量不在对之前的数据引用

        变量改为对新赋值的数据引用

      调用函数时,本质上传递的是实参保存数据的引用,而不是实参保存的数据

      

       地址一样

      有返回值时,也是返回的数据的引用

      

    2、可变和不可变类型

      不可变类型,内存中的数据不允许被修改:

        数字类型 int,bool,float,complex,long(2.x)

        字符串 str

        元组 tuple

      可变类型,内存中的数据可以被修改:

        列表 list

        字典 dict

        字典的key只能是不可变类型的数据

        

     3、哈希hash

      python中内置有一个叫做hash(o)的函数

        接收一个不可变类型的数据作为参数

        返回结果是一个整数

      hash是一个算法,其作用就是提取数据的特征码(类似于指纹)

        相同的内容得得到相同的结果

        不同的内容得到不同的结果

      在python中,设置字典的键值对时,会首先对key进行hash已决定如何在内存中保存字典的数据,以方便后续对字典的操作:增、删、改、查

        键值对的key必须是不可变类型的数据

        键值对的value可以是任何类型的数据

    4、局部变量和全局变量

      局部变量,是在函数内部定义的变量,只能在函数内部使用

      全局变量,是在函数外部定义的变量(没有定义在某一个函数内),所有函数内部都可以使用这个变量

      局部变量:

       是在函数内部定义的变量,只能在函数内部使用

       函数执行结束后,函数内部的局部变量,会被系统回收 

       不同的函数,可以定义相同名字的局部变量,不会互相影响

       生命周期

        生命周期 就是变量从被创建 到被系统回收的过程

        局部变量 在函数执行时才会被创建

        函数执行结束后 局部变量被系统回收

        局部变量在生命周期内,可以用来存储 函数内部临时使用到的数据

      全局变量:

       函数内部不允许直接修改全局变量的值

       如果希望修改全局变量的值,需要global修饰

       为保证所有函数都用到全局变量,应该将全局变量定义在其他函数的上方

       

  • 相关阅读:
    1.Spring MVC详解
    servlet的九大内置对象
    Hibernate设置事务的隔离级别
    wamp下php报错session_start(): open(d:/wamp/tmpsess_ku776hvb06ko4lv9d11e7mnfj1, O_RDWR) failed: No such file or directory
    json_decode()相关报错
    wamp下var_dump()相关问题
    es6箭头函数内部判断
    Json数组对象取值
    npm指向淘宝源
    APICloud之封装webApp
  • 原文地址:https://www.cnblogs.com/onroad2019/p/11990588.html
Copyright © 2011-2022 走看看