300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python中根据字符串调用函数的实现方法

python中根据字符串调用函数的实现方法

时间:2020-05-25 00:28:27

相关推荐

python中根据字符串调用函数的实现方法

后端开发|Python教程

python,字符串函数

后端开发-Python教程

在python中可以根据字符串来调用函数:

博客网页源码下载php格式,vscode参考哪个框架,ubuntu 加root,怎么装tomcat插件,c#sqlite数据库连接,爬虫技术怎样爬取app用户数据,php模板技术,seo优化网络培训排名,网站后台可以备份吗,织梦系统基本参数模板lzw

1、使用getattr从字符串来调用函数

网页自动验证源码,ubuntu打开终端太慢,Tomcat堆使用率,django开发爬虫,php 游戏管理系统,网站seo和淘宝seolzw

在多进程中,可能传递过来的是一个字符串,那么我怎么来调用一个已经存在的函数呢,主要就是使用到getattr函数的作用,这个函数就是在使用字符串得到这个字符串对应的函数的对象,然后就可以进行执行,如下所示:

asp源码 新闻,vscode 加头注释,ubuntu装maven,电脑重启以后tomcat,爬虫食物,php curl 循环,小红书seo分析报告,清新html5网站源码,宾馆管理系统后台模板lzw

在模块中,存在两个函数:

[root@python 530]# cat attr.py#!/usr/bin/env pythondef kel(): print his is a kel functiondef smile(): print his is a smile functionif __name__ == \__main__: kel() smile()

在上面的attr模块中,定义了两个函数,一个函数为kel,另外一个函数为smile,那么我根据字符串kel和smile怎么执行函数呢,就是使用getattr函数,如下所示:

>>> import attr>>> k = getattr(attr,kel)>>> k()this is a kel function>>> s = getattr(attr,smile)>>> s()this is a smile function>>> e = getattr(attr,errors)Traceback (most recent call last): File "", line 1, in AttributeError: module object has no attribute errors

在第一个中,直接导入模块,那么模块就是一个object,从而在getattr根据字符串kel获取到attr中的kel函数,从而最后进行执行,这里也就实现了,根据字符串的不同,从而执行相应的函数。

2、 使用字典来调用函数

在上面模块的定义不变,但是在调用的时候,可以定义一个字典,根据字典的值来进行执行函数,如下所示:

>>> import attr>>> d = {kel:attr.kel,smile:attr.smile}>>> d[kel]()this is a kel function>>> d[smile]()this is a smile function

从而可以使用字典值来进行调用函数。

以上两种方法主要就是用来,当传递过来一个字符串的时候,我该如何调用其他函数,那么第一种方法就是使用getattr来进行执行函数;第二种方法就是预先定义一个字典,然后执行字典的值即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。