最近在学计算机网络,就想着用python做做爬虫什么的,巩固下网络的知识。因为初学所以从入门开始!

初次上手python感觉它跟matlab很相似

(图1)

第一感觉它特别像一个计算器(函数式编程)

然后慢慢接触发现它的数据类型跟一般的面向对象化编程语言很类似,如整数、浮点数、列表、字典等等。

让我最感觉最大的不同就是它的不可变类型与可变类型

(图2)

上图可以很清楚的看出,x与y本来是指向同一个地址的,然后改变y的值后y的地址就改变了,而x的地址却还是没有变化并且x的值也没有变化。

这就是内存地址的变化过程。

(图3)

但是在上图中通过改变y的值,也将x的值改变了。但是变量x与y的地址都没有变化,这就涉及到python中的不可变数据类型与可变数据类型了。

图3跟图2中不同的原因在于:x与y的内存地址可以表示为post1:PyList。而List类型是可变的(List里面放的是Int与String),所以当内存地址post1里面改变了以后是会有连锁反应的。

在python中可变类型有:list,dict,set,numpy,array,user defined,objects

    不可变类型有:string,integer,tuple,frozenset,float,long,complex

 

---恢复内容结束---