python中有指针吗_Python中的指针——到底指什么(一)

指针是C和C++系语言的重要概念,其本质是保存另一个变量内存地址的变量(Pointers are variables that hold the memory address of another variable.)。某些情况下,使用指针可以提高代码的效率。但是,指针也往往会对初学者造成困扰,即使是老手,也经常会出现内存管理的问题。

象Java、Python之类的语言并没有明确的指针的概念。但Python中如果需要使用类似指针行为的时候,可以模拟出指针的效果,同时又不会陷入内存管理的噩梦。

Python中为什么没有指针

看起来指针似乎违背了Python设计之禅(Zen of Python)。指针会带来隐含的修改,对初学者来说显得比较复杂,而且也为访问非预期内存块之类的危险操作提供了手段。Python倾向于对用户屏蔽类似内存管理之类的实现细节,更注重语言的实用性,甚至都不太关心执行速度。

Python中的对象

在Python中,一切都是对象。可以通过提供的内置函数isinstance()进行验证:

>>> isinstance(1, object)

True

>>> isinstance(str, object)

True

>>> isinstance(list(), object)

True

>>> def func():

pass

>>> isinstance(func, object)

True

由此可见,Python中无论基本类型、类、类实例、自定义函数等都是对象。对象至少由三部分数据组成:

引用计数(Re

你可能感兴趣的:(python中有指针吗)