Python的动态类型

Posted rons

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的动态类型相关的知识,希望对你有一定的参考价值。

Python变量声明:

python的类型只属于对象,不属于变量

  python中变量声明不像其他语言(C、C++)一样要指定变量的类型,python的类型保存在对象当中,变量仅仅只是这个对象的引用,相当于一个指针,仅仅只保存其对象的地址。(python对象包含两个头部信息,一个是类型标志符,一个是引用计数)

python变量赋值:

  python变量赋值不改变当前指向的对象,而是改变其引用。

  如:

1 a = 42  # a保存了42在内存中的地址
2 b = a   # a赋值给b,将地址赋值b,b和a指向同一个地址
3 a = 33  # 将33在内存中的地址赋给a,a指向33的内存地址

python优化之一:

对象的缓存和复用:

  如:

 1 n = 2E10
 2 a = n + 1
 3 b = n + 1
 4 print(a == b)   #True
 5 print(a is b)   #False
 6 
 7 n = 43
 8 a = n + 1
 9 b = n + 1
10 print(a == b)   #True
11 print(a is b)   #True
12 
13 
14 x = 42
15 y = 42
16 print(x == y)   #True
17 print(x is y)   #True
18 
19 m = abc
20 n = abc
21 print(m == n)   #True
22 print(m is n)   #True

 

python缓存并复用了小的整数和小的字符串 

 

以上是关于Python的动态类型的主要内容,如果未能解决你的问题,请参考以下文章

13 个非常有用的 Python 代码片段

python在sqlite动态创建表源码

动态 Rstudio 代码片段

是否可以动态编译和执行 C# 代码片段?

Python动态类型简介

Python动态类型简介