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 ++++++
时间: 2024-11-10 11:27:11