内容简介:python(函数指针和类函数指针)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
函数指针和类函数指针在 c语言 下面的概念都比较简单,用在脚本下面也很方便。因为脚本语言一切类型都是对象,所以根本不存在指针的概念。一般,我们都是这么用的,
feixiaoxingdeMacBook-Pro-4:~ feixiaoxing$ python Python 2.7.13 (default, Dec 18 2016, 07:03:34) [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> def process(f): ... f(1,2,3) ... >>> def add(a,b,c): ... print a,b,c ... >>> process(add) 1 2 3 >>>
这种方法用在一般的函数上没有什么问题。但是如果用在了类函数上面,那么就有点麻烦了,
feixiaoxingdeMacBook-Pro-4:~ feixiaoxing$ python Python 2.7.13 (default, Dec 18 2016, 07:03:34) [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> def process(f): ... f(1,2,3) ... >>> class A: ... def run(self,a,b,c): ... print a,b,c ... >>> process(A.run) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in process TypeError: unbound method run() must be called with A instance as first argument (got int instance instead) >>>
通过系统给出的告警信息,其实 python 已经提示我们要怎么做了,关键是定义一个class实例,用这个实例加上函数作为回调函数就可以了。
feixiaoxingdeMacBook-Pro-4:~ feixiaoxing$ python Python 2.7.13 (default, Dec 18 2016, 07:03:34) [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> def process(f): ... f(1,2,3) ... >>> class A: ... def run(self,a,b,c): ... print a,b,c ... >>> val=A() >>> process(val.run) 1 2 3 >>>
通过代码可以看出,类函数并不复杂。只要将类实例和类函数本身联系在一起,就可以作为普通函数的参数进行使用了。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 将数组和矩阵传递给函数,作为C中指针的指针和指针
- C/C++ 函数指针
- flag 中的 Go 函数指针
- CGO 中传递回调函数和指针
- GOLAMG-5 type 不同于C/C++ typedef,切片底层是指针域的函数指针
- Java 8函数式编程模式:不要使用空指针null
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员代码面试指南:IT名企算法与数据结构题目最优解(第2版)
左程云 / 电子工业出版社 / 109.00元
《程序员代码面试指南:IT名企算法与数据结构题目最优解(第2版)》是一本程序员代码面试"神书”!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近300道真实出现过的经典代码面试题,帮助广大程序员的面试准备做到接近万无一失。"刷”完本书后,你就是"题王”!《程序员代码面试指南:IT名企算法与数据结构题目最优解(第2版)》......一起来看看 《程序员代码面试指南:IT名企算法与数据结构题目最优解(第2版)》 这本书的介绍吧!