1. 根据字符串名称 动态调用 python文件内的方法eval("function_name")(参数)

2. 根据字符串 动态调用类中的静态方法,getattr(ClassName,"function_name")(参数)

3. apply(functoin_name,parameters) 这个function_name不是字符串,而是函数对象本身;parameters是参数,类似(a,b,...)这样的格式

4. 当函数不确定参数的数目时候,采用 一个 * 或两个** 他们的用法是有讲究的。

下面的例子是,定义了一个函数列表字典,字典中保存有函数对象和函数的参数,可以实现动态为字典添加执行的函数,最后一起执行

from collections import OrderedDict

class ComponentCheck:

def __init__(self, data_dir):

self.data_dir = data_dir

self._extend_function_dic = OrderedDict({})

def add_extend_function(self, function_name, *parameters):

self._extend_function_dic[function_name] = parameters

def _check_extend_function(self):

for function_name, parameters in self._extend_function_dic.iteritems():

if not apply(function_name, parameters):

return False

return True

class CheckFunctions:

def __init__(self):

pass

def tollcost_check(data_path):

toll_cost_path = os.path.join(data_path, Importer.DT_KOR_TOLL_COST)

tollcost_component = ComponentCheck(toll_cost_path)

tollcost_component.add_extend_function(tollcost_component.check_file_pattern_list_match, CheckFunctions.TOLL_COST_FILENAME_PATTERN)

return tollcost_component

@staticmethod

def speed_camera_check(data_path):

speed_camera_path = os.path.join(data_path, Importer.DT_SAFETY_CAMERA)

speed_camera_component = ComponentCheck(speed_camera_path)

speed_camera_component.add_extend_function(speed_camera_component.check_not_exist_empty_directory)

return speed_camera_component

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python调用函数示例_python 动态调用函数实例解析相关推荐

  1. python 定义函数方法_Python动态定义函数的方法介绍

    本篇文章给大家带来的内容是关于Python动态定义函数的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 基于 MIT 许可协议 在 Python 中,没有可以在运行时简化函数 ...

  2. python什么模块动态调用链接库_python 动态调用模块、类、方法(django项目)

    需求:近一段时间基于django框架,开发各业务层监控代码,每个业务的监控逻辑不同,因此需要开发监控子模块,动态的导入调用. 项目名称:demo_django App:common_base.moni ...

  3. python执行bat文件_Python中调用PowerShell、远程执行bat文件实例

    python调用本地powershell方法 1.现在准备一个简陋的powershell脚本,功能是测试一个IP列表哪些可以ping通: function test_ping($iplist) { f ...

  4. python表示差值_python差值函数

    python可否用自定义函数对数据进行插值 除了interp函数自带的插值方式,可否用一个自定义的函数表达式对interp直接定义a=True/False就行,示例代码: #定义布尔值类型参数a,b, ...

  5. python中非可选参数_python基础教程函数参数

    python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些 ...

  6. python popen函数讲解_Python常用模块函数代码汇总解析

    一.文件和目录操作 创建.删除.修改.拼接.获取当前目录.遍历目录下的文件.获取文件大小.修改日期.判断文件是否存在等.略 二.日期和时间(内置模块:time.datatime.calendar) 1 ...

  7. python默认参数举例_Python之在函数中使用列表作为默认参数

    本文将介绍笔者在工作中遇到的Python的一个坑,那就是使用列表作为默认参数. 我们知道,在Python中,列表(list)是可变对象,所以列表的内容可能会在函数内改变.另一个需要注意的是,使用列表作 ...

  8. python函数理解_Python 知识理解---函数

    函数就如小程序,是组织好的,可以重复使用的,用来实现某一功能的代码. 例:print(),input(),len()...等.一般来说函数都带个括号(),在括号里放的是参数,参数指向的是函数要处理的数 ...

  9. python 函数 过程_python学习之函数(三)--函数与过程

    1.函数与过程的区别: 有返回值的是函数,没有返回值的是过程: 函数(function):有返回值 过程(procedure):简单特殊,没有返回值 严格来说,python只有函数,没有过程.没有返回 ...

最新文章

  1. JavaScript 数组排序及查找数组中最大值最小值方法
  2. CentOS 安装FTP
  3. python中的 怎么用_Python中如何调用Linux命令
  4. c语言中说取消标识符是,2019年全国计算机二级C语言考试考点解析(3)
  5. MyBatis中编写sql语句小于号报错
  6. 如何用SAP ABAP编程语言实现一个简单的区块链模型
  7. 安卓dalvik和art区别
  8. 解决echart中:Cannot read property ‘queryComponents‘ of undefined
  9. 一行代码添加P值的可视化技巧分享~~
  10. 深入解析React创建组件的三种方式
  11. Markdown示例
  12. 如何让遮罩层悬浮在object标签中
  13. 迅捷word转换成pdf转换器 4.1 官方版
  14. NFR24C0L中文使用手册、stm32硬件SPI与模拟SPI比较:
  15. java如何面试别人_Java面试如何考察候选人
  16. Ansible Tower:安装以及HA多集群安装
  17. Vue 下载文件需要token设置
  18. 大数据面试3分钟自我介绍_面试的时候,如何自我介绍?
  19. 四时之诗:蒙曼品美唐诗读后感
  20. 使用CSS制作图片相框以及图片放大旋转效果

热门文章

  1. Linux下 /dev/null 21 相关知识说明
  2. Google Test
  3. OpenStack自动发现计算节点
  4. boost.asio openssl zlib protobuf icu vs2015编译
  5. linux 使用 cp 命令强制覆盖功能
  6. 大剑无锋之二分搜索、二分搜索时间复杂度、三分查找呢?
  7. java小编程----str中没有内容
  8. 【Java/JFrame/多线程】小球碰到边缘的回弹效果
  9. 都2020年了,这5个java IDE神器你还不知道?
  10. 如何解决分布式系统中的“幽灵复现”?-转载自 阿里技术 微信公众号