码迷,mamicode.com
首页 > 编程语言 > 详细

Python的动态类型

时间:2018-01-16 23:56:12      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:优化   python变量   对象   ==   改变   python   引用计数   int   动态   

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的动态类型

标签:优化   python变量   对象   ==   改变   python   引用计数   int   动态   

原文地址:https://www.cnblogs.com/rons/p/8297714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!