给妹子讲python-S01E10动态类型与共享引用
【妹子说】这段时间以来,我一直有个疑问,C语言中可以看到int a = 1这种表达,可是python中怎么没见到这些?
回答这个问题,就得谈谈python中的对象引用机制和动态类型。
的确,python使用变量的时候都没有声明变量的类型,这一点和C语言不同。但是,变量还可以工作,因为在python中类型是在运行的过程中自动决定的,而不是通过代码声明的,这意味着没有必要事先声明变量。
在python中,我们要明确一个概念:变量名和对象是划分开的,变量名永远没有任何关联的类型信息,类型是和对象关联的,而不存在于变量名中。一个变量名当第一次被赋值的时候被创建,而当新的赋值表达式出现时,他会马上被当前新引用的对象所代替。这就是python所谓的动态类型机制。具体看一个例子:
a = 'abcde'
print(a)
a = [1,2,3,