Python学习系列十一:动态类型
来源:互联网 发布:手机文件传输软件 编辑:程序博客网 时间:2024/05/16 04:37
1、Python中有一类特殊的对象,用于存储数据的。常见的该类对象包括了各种数字,字符串,表,词典。对象是存储在内存中的实
体。但是我们并不能直接接触到该对象。我们在python程序中写的对象名,只是指向这一对象的引用(reference)。
2、引用和对象分离,是动态类型的核心。引用可以随时指向一个新的对象
3、不可变数据对象(immutable object)
比如数字和字符串,不能改变对象本身,只能改变引用的指向
a=5b=aprint(a,b)a=a+2print(a,b)
b=a让a、b指向同一个对象,但是a=a+2让a重新指向另外一个新的对象。所有这个时候a、b分别指向不同的对象。可以看出即使是多
个引用指向同一个对象,如果一个引用值发生变化,那么实际上是让这个引用指向一个新的引用的指向。就是各个引用各自独立,互相不影响。
4、可变数据对象
列表、词典可以通过引用其元素,改变对象自身。这种对象类型称为可变数据对象。需要注意的是元组尽管可以调用引用元素,但是不可以赋值,因此
不能改变对象自身,所有元组是不可变数对象。
L1=[1,2,3]L2=L1L1[0]=10print(L1)print(L2)
L1和L2指向同一个对象,改变元素的值,并没有改变对象的指向,故L1的指向对象并没有改变,所以L1和L2依然指向同一个对象。
5、函数值传递
如果实参是可变数据对象,那么实参和形参互相独立,互不影响
def f(x): x=100 print(x)a=1f(a)print(a)
如果实参是不可变数据对象,那么实参和形参指向同一个对象,互相影响。
def f(x): x[0]=100 print(x)a=[1,12,34]f(a)print(a)
0 0
- Python学习系列十一:动态类型
- Python学习------ 动态类型
- 【Python学习系列二十一】pandas库基本操作
- Python学习笔记(四):动态类型
- 【Python 学习手册笔记】动态类型简介
- Python学习笔记之动态类型
- Python学习笔记1--动态类型
- python学习笔记17(动态类型)
- python学习笔记1:动态类型模型
- Python学习——动态类型简介
- 学习python(十一)
- Python学习杂记十一
- 【Python学习系列十一】Python实现决策树实现C4.5(信息增益率)
- Python学习笔记(五)Python动态类型和引用
- Objective C2.0学习(十一 动态绑定和id类型)
- Objective C2.0学习(十一 动态绑定和id类型)
- Mybatis学习(十一)mybatis动态sql传入pojo的包装类型
- python动态类型
- POJ 3308 Paratroopers
- Java design pattern 设计模式
- java 继承详解
- windows下git安装
- ClientDataSet中Cancel与CancelUpdates的区别
- Python学习系列十一:动态类型
- 使用fread和fwrite函数读写文件
- [Stirling] HDU 3625 Examining the Rooms
- codeforces/problem/175/C 贪心
- ,共酌月华,共渡殷殷韶华
- 循环赛日程表问题
- 【机器学习笔记】一、Supervised learning监督学习
- 2047——阿牛的EOF羊肉串
- tigerVNC的简单使用教程(CentOS的远程桌面连接)