id()函数是python的内置函数,用于获取对象的内存地址。

1.1

可以看出,33被存储在内存地址19877464上,对变量a赋值,实际上是将其指向存储着33的内存地址。

1.2

不仅是数字类型,不同字符串里相同的字符实际上指向的是同一内存地址

1.3

但是字符“3”与数字3的存储地址是不一样的

那么,python中传递给函数的参数是传值还是传址呢?这取决于传递的是可变对象还是不可变对象。

2.1 不可变对象

把变量传递给函数实际上是让函数里的变量也指向存储数字3的内存地址,而在函数内对变量进行操作,实际上是让它的指向变成其他数字,不会影响函数外的变量x。

2.2 可变对象

实际上传递给函数的是列表的首地址,在函数内对列表的值不会影响变量指向首地址,所以对函数内的列表元素进行改变,会影响函数外的列表元素。

通过id()函数学习python的数据存储以及引用方式的更多相关文章

  1. iOS学习之应用数据存储1-属性列表、偏好设置、NSKeyedArchiver归档

    iOS应用数据存储的常用方式(持久化方式) 属性列表(plist)归档(XML文件) Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3 Core ...

  2. Android数据存储五种方式总结

    本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据     2 文件存储数据       3 SQLite数据库存储数据 4 使用Cont ...

  3. iOS边练边学--应用数据存储的常用方式(plist,Preference,NSKeyedArchiver)其中的三种

    iOS应用数据存储的常用方式: XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3--这里暂且不讲 Core D ...

  4. iOS应用数据存储的常用方式

    iOS应用 数据存储的常用方式 XML属性列表 plist Preference 偏好设置 NSKeyedArchiver 归档 Core Data SQLite3 应用沙盒: Layer:     ...

  5. Android 学习笔记之数据存储SharePreferenced+File

    学习内容: Android的数据存储.... 1.使用SharedPreferences来保存和读取数据... 2.使用File中的I/O来完成对数据的存储和读取...   一个应用程序,经常需要与用 ...

  6. python的数据存储

    Python存储数据 使用json.dump()和json.load() 不管专注的是什么,程序都把用户提供的信息存储在列表和字典等数据结构中.用户关闭程序时,你几乎总是要保存他们提供的信息:一种简单 ...

  7. python上数据存储 .h5格式或者h5py

    最近在做城市计算的项目,数据文件是以.h5的格式存储的,总结下其用法和特点 来自百度百科的简介: HDF(Hierarchical Data Format),可以存储不同类型的图像和数码数据的文件格式 ...

  8. python轻量级数据存储

    python为开发者提供了一个轻量级的数据存储方式shelve,对于一些轻量数据,使用shelve是个比较不错的方式.对于shelve,可以看成是一个字典,它将数据以文件的形式存在本地.下面介绍具体用 ...

  9. MySQL学习笔记之数据存储类型

    说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不 ...

随机推荐

  1. Docuemnt 的 NamespaceURI为空问题

    创建doc的方式不同,需要增加 DocumentBuilderFactory.setNamespaceAware(true); 这样Element Node.getNamespaceURI 才不为空 ...

  2. (四) 结构化查询语言SQL——2

    3)ORDER BY排序语句 通常,查询的结果是以无序的方式显示的,有时需要将查询结果按照一定次序来进行排序.ORDER BY就可以用上了,例如查询课程号为202的课程成绩的所有信息,并按照成绩降序排 ...

  3. kubernetes 创建超级管理员和密匙

    # 创建一个超级管理员adm_account="k8s-dash-admin"kubectl create serviceaccount ${adm_account} -n kub ...

  4. BZOJ5056 OI游戏[最短路树]

    有生以来做过的bzoj比A+B还简单的最水的题.(确信) 不解释. UPD:据说这题正解应当是矩阵树定理?但是这个不是用来最小生成树计数的么?有生之年会补的. #include<iostream ...

  5. systemctl详解

    [root@hadoop01 hadoop]# systemctl --help systemctl [OPTIONS...] {COMMAND} ... Query or send control ...

  6. h5 rem计算

    设置html默认font-size: 100px,此时默认的页面的width是750px,然后根据手机大小改变html节点的font-size,从而改变rem的大小,代码如下: <script& ...

  7. 运行一次node服务后,再次运行报错

    由于工作内容在git上,而系统又是window,大家知道,window自带的终端是不能进行git操作的,所以下载了一个git进行代码的更新提交. 我在git上运行了node服务后,由于不同的项目,我需 ...

  8. laravel 之 cookie 使用

    <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use Illuminate\Http\Resp ...

  9. RestFul是啥

    1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...

  10. Twilio收发短信笔记

    twlio基本使用 Twilio是一个做成开放插件的电话跟踪服务(call-tracking service),可用来进行短信,图片等信息的集中于转发,貌似只支持北美地区的电话. 现有一个需求是:客户 ...