扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
# 定义一个函数
创新互联公司是专业的竹溪网站建设公司,竹溪接单;提供成都做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行竹溪网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
def t(string):
print string
# 定义一个变量
handler = t
handler("test")
# 这和C的函数指针应该是差不多吧
如果您曾经使用过C或C ++等低级语言,那么您可能已经听说过指针。指针允许您在部分代码中创建高效率。它们也会给初学者带来困惑,并且可能导致各种内存管理错误,即使对于专家也是如此。那么在Python中有指针的存在吗?
指针广泛用于C和C ++。本质上,它们是保存另一个变量的内存地址的变量。有关指针的更新,可以考虑在C指针上查看此概述。
为什么Python没有指针?
实际上指针为何不存在的原因现在还不知道,也许指针违背了Python的禅宗。指针鼓励隐含的变化而不是明确的变化。但通常情况下,它们很复杂而不是很简单,特别是对于初学者。更糟糕的是,当他们用指针指向自己的方法,或做一些非常危险的事情,比如从你无法获取的的一些变量中读取数据。
Python更倾向于尝试从用户那里抽象出内存地址来实现具体细节,所以Python通常关注可用性而不是速度。因此,Python中的指针并没有多大意义。但是在有些情况下,Python会为您提供使用指针的一些好处。
想要理解Python中的指针,需要理解Python实现指针功能的具体细节。简单来说,需要了解这些知识点:
不可变对象和可变对象【Python中的对象】
Python变量/名称【Python中的变量】
【在Python中模拟实现指针】
python没有指针,但它也可以传引用
最简单的例子
def add(a, my_list=[]):
my_list.append(a)
print my_list
add(1) - [1]
add(2) - [1,2]
add(3) - [1,2,3]
python对指针做了良好的封装,一切都是对象。一切对象都有一个变量,指向他这个变量就是指针。跟java不一样, 他不可以随机移动,不可以运算。包括函数也是一个对象,用一个变量指向它,就是指向函数的入口地址。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流