Python:概念分析:Python动态类型机制

Python动态类型机制


要回答Python动态类型机制。
我们需要先来谈谈:Python中的对象引用机制和动态类型,是的,Pyhton使用变量的时候都没有声明变量的类型,这一点和 JAVA/C++是不同的,但是,在Python中,变量还是可以工作, 因为在Python中类型是在 运行过程中自动决定额,而不是通过代码声明的,这就意味着没有必要事先声明变量

💚💚💚

  • 在Python中,我们需要明确一个概念:变量名和对象是划分开的,变量名永远没有任何关联的类型信息,类型和对象是关联的,它不存在变量名中。
  • 一个变量名当第一次被赋值的时候就被创建,而当新的赋值表达式出现时,它会马上被当前新引用的对象所替代。
    这就是:Python所谓的动态类型机制。

举例:

a = 'abcde'
print(a)

a= [1,2,3,4]
print(a)

// 打印结果
$ python 8.1.py
abcde
[1, 2, 3, 4]

结合这个例子,我们在梳理一下

  1. 刚开始创建了一个 字符串对象 ‘abcde’ , 然后创建了一个变量a, 将变量a 和 字符串对象 ‘abcde’ 相连接
  2. 之后又创建了一个列表对象 [1,2,3,4] ,然后又将它和 a 相连接

分析:

  • 这从从变量到对象的连接,我们称之为引用,它在内存中 以指针的形式实现。
  • 因此,简单来说,变量事实上是到对象内存空间的一个指针,而且指向的对象可以随着程序赋值语句而不断变化。

总结

变量名没有类型,只有对象才有类型,变量只是引用了不同类型的对象而已,每一个对象都包含了两个头部信息,一个是 类型标志符,标识这个对象的类型,一个引用的计数器用来表示这个对象被多少个变量名所引用,如果此时没有变量引用,那么就可以回收这个对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值