《Python学习》 第二部分 类型与操作(三)
来源:互联网 发布:淘宝库客运动正吗 编辑:程序博客网 时间:2024/05/26 02:19
第六章 动态类型
一、没有声明语句的情况
在Python中,类型是在程序运行状态中决定的,不是由代码的声明决定。
1、变量,对象和引用
(1)变量本身没有类型,在初次赋值是创建,必须在使用前赋值
(2)变量包含了一个对象的引用,每当变量出现在表达式中的时候,引用的对象会自动代替变量
2、对象有类型,变量没有
3、对象的垃圾自动回收机制:当一个对象在程序的剩余部分不被使用时,该对象将会自动被回收删除
二、共享引用
1、共享引用:在Python中,变量总是指向对象的指针,而不是可变存储区域的标签。给对象赋一个新的值,实际上是改变了变量的指针指向一个全新的对象。
2、共享引用和位置变换
>>> L1 = [2, 3, 4] # 一个可变的对象
>>> L2 = L1 # 指向同一个对象
>>> L1[0] = 24 # 位置变换
>>> L1 # L1变了
[24, 3, 4]
>>> L2 # L2也变了![24, 3, 4]
位置变换L1[0] = 24实际上改变了列表对象,而L1和L2的指向并没有改变,因此,L2也变了。
3、共享引用与相等性: == 判断两个变量的值是否相等, is 判断两个变量的引用是否相同
>>> L = [1, 2, 3]
>>> M = L # M和L指向同一个对象
>>> L == M # 有相同的值
True
>>> L is M # 指向的是同一个对象
True
>>> L = [1, 2, 3]
>>> M = [1, 2, 3] # M和L指向不同的变量
>>> L == M # 值相等
True
>>> L is M # 但是它们是不同的变量False
三、动态类型到处都是
1、因为Python中到处都是赋值和引用,所以对动态类型的一点基本掌握在很多情况下都是有益的。
2、在实践层面,动态类型意味着可以少写一些代码。
- 《Python学习》 第二部分 类型与操作(三)
- 《Python学习》 第二部分 类型与操作(一)
- 《Python学习》 第二部分 类型与操作(二)
- Python学习手册(第二部分)
- Python学习(三)---常见类型转换、数值操作、序列操作
- 数据库系统概论 学习笔记(三)第二部分
- Python学习系列-----第二章 操作符与表达式
- Scala基本类型与操作(三)
- python 学习(三)变量类型
- Python学习之运算类型&(三)
- 【HEVC学习与研究】6.HEVC综述(第二部分)
- python自然语言处理学习笔记第二章第二部分
- python学习笔记4--数字类型与操作符
- Python学习(三): 字符串操作
- Python 新手常犯错误(第二部分)
- 《Redis设计与实现》[第二部分]单机数据库的实现-C源码阅读(三)
- python 学习 (三) python利用mysqldb操作数据库
- Python学习笔记(三)Python数据库操作。
- java和c#语言上的一个不同之处
- android 通过中断口增加电池充电检测功能的方法
- 随想录(驱动开发程序员需要的一些技能)
- python遍历文件夹和文件
- WCF 学习笔记之异常处理
- 《Python学习》 第二部分 类型与操作(三)
- Codeforces Round #171 (DIV.2)
- 获取汉字的拼音码(工具类)
- c++ 编译期与运行期
- 设计模式原来如此-代理模式的实际应用
- TCP协议的TIME_WAIT状态详解
- 我的电脑在开机的时候总是提示“你的计算机可能存在风险”
- java开源类库pinyin4j的使用
- vim中字符串出现次数的统计及字符创替换