Python Manual读书笔记之第6章动态类型简介
2013-10-14 21:08
323 查看
动态类型简介
在python中,类型是在运行过程中自动决定的,而不是通过代码声明。这意味着没有必要事先声明变量。
1.变量、对象和引用
对于 a = 3
python将会执行三个不同的步骤去完成这个请求。
(1)创建一个对象来代表值3
(2)创建一个变量a,如果它没有创建的话。
(3)将变量与新的对象3相连接。(引用)
以具体的术语来说:
(1)变量是一个系统表的元素,拥有指向对象的连接的空间。
(2)对象是被分配的一块内存,有足够的空间去表现它们所代表的值
(3)引用是自动形成的从变量到对象的指针。
2.类型属于对象,而不是变量
python的变量就是在特定的时间引用了一个特定的对象。
对象有两个标准的头部信息:(1)类型标志符。去标记这个对象的类型(2)引用计数器。用来决定是不是可以回收这个对象。
3.对象的垃圾收集
python是通过保持用每个对象中的计数器记录引用指到这个对象上的次数来完成这一功能。一旦这个计数器被设置为0,这个对象的内存空间就会自动回收。
下面看看关于共享引用的几个题目:
(1)A = "spam" B = A B = "shrubbery"
A的值不会被改变。
(2)A = ["spam"] B = A B[0] = "shrubbery"
A的值会被改变
(3)A = ["spam"] B = A[:] B[0] = "shrubbery"
A的值不会被改变
在python中,类型是在运行过程中自动决定的,而不是通过代码声明。这意味着没有必要事先声明变量。
1.变量、对象和引用
对于 a = 3
python将会执行三个不同的步骤去完成这个请求。
(1)创建一个对象来代表值3
(2)创建一个变量a,如果它没有创建的话。
(3)将变量与新的对象3相连接。(引用)
以具体的术语来说:
(1)变量是一个系统表的元素,拥有指向对象的连接的空间。
(2)对象是被分配的一块内存,有足够的空间去表现它们所代表的值
(3)引用是自动形成的从变量到对象的指针。
2.类型属于对象,而不是变量
python的变量就是在特定的时间引用了一个特定的对象。
对象有两个标准的头部信息:(1)类型标志符。去标记这个对象的类型(2)引用计数器。用来决定是不是可以回收这个对象。
3.对象的垃圾收集
python是通过保持用每个对象中的计数器记录引用指到这个对象上的次数来完成这一功能。一旦这个计数器被设置为0,这个对象的内存空间就会自动回收。
下面看看关于共享引用的几个题目:
(1)A = "spam" B = A B = "shrubbery"
A的值不会被改变。
(2)A = ["spam"] B = A B[0] = "shrubbery"
A的值会被改变
(3)A = ["spam"] B = A[:] B[0] = "shrubbery"
A的值不会被改变
相关文章推荐
- 《Python学习手册》学习笔记(6)之第6章动态类型简介(关键词:编程语言/Python/变量/对象/引用)
- Python的动态类型简介
- Python学习笔记整理(三)Python中的动态类型简介
- 动态类型简介
- Python<9>动态类型简介
- Python学习——动态类型简介
- 动态类型简介(3)
- 【Python学习】python学习手册--第六章 动态类型简介
- python的动态类型简介
- 《Python 学习手册4th》 第六章 动态类型简介
- 【Python 学习手册笔记】动态类型简介
- python学习手册笔记--第5章--数字--第6章--动态类型
- Python学习笔记整理(三)Python中的动态类型简介
- python动态类型简介
- Netfilter学习之NAT类型动态配置(一)iptables和Netfilter简介
- python——动态类型简介
- Python动态类型简介
- 用于创建动态类型,并添加各个 public 属性的定义
- 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别
- MySQL数据类型简介