首页 > 代码库 > Python 动态类型
Python 动态类型
Python 动态类型
1、Python中,类型是在运行过程中自动决定的,并不需要提前在代码中声明。
2、所有变量必须在使用前明确的赋值,否则将会产生错误。#例:NameError: name ‘a‘ is not defined
3、赋值语句 a=3 代表了:创建一个对象代表3;创建一个变量a;将变量与新的对象3相连。实际上是到对象内存空间的一个指针!
4、上面的第3条可翻译为:变量是一个系统表的元素,拥有指向对象的链接的空间;对象是分配的一块内存,有足够空间来表示他们所代表的值;引用是自动形成的从变量到对象的指针。
5、对象结构 -- 对象头信息一般包含两个部分:一个类型标识符;一个引用的计数器(决定是否可以回收这个对象)
6、注意:※※※类型属于对象而不是变量※※※
In [1]: a=10
In [2]: print(a)
10
In [3]: a=‘spam‘
In [4]: print(a)
spam
In [5]: a=3.14159
In [6]: print(a)
3.14159
In [7]: a+10
Out[7]: 13.14159
In [8]:
7、当一个变量名被赋予了一个新的对象,原对象占用的空间就会被回收。#垃圾收集技术:自动清理引用计数器为零的对象。
8、有些对象的修改是共享引用,有些则是在原处修改,需要加以区分。
9、操作符 == 用来测试对象是否具有相同的值,操作符 is 测试两个变量名是否精确指向同一个对象。(小的整数和字符串存在缓存和复用,可能会出现is是相同的情况)
In [8]: x=[1,2,3,4]
In [9]: y=[1,2,3,4]
In [10]: x==y
Out[10]: True
In [11]: x is y
Out[11]: False
In [12]: x=42
In [13]: y=42
In [14]: x==y
Out[14]: True
In [15]: x is y
Out[15]: True
In [16]: x+=1
In [17]: print (x)
43
In [18]: print (y)
42
In [19]: x+=1
In [20]: x is y
Out[20]: False
++++++ The END ++++++
Python 动态类型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。