Python 由字符串函数名得到对应的函数(实例讲解)

把函数作为参数的用法比较直观:

def func(a, b):
 return a + b

def test(f, a, b):
 print f(a, b)

test(func, 3, 5)

但有些情况下,‘要传递哪个函数'这个问题事先还不确定,例如函数名与某变量有关。

可以利用 func = globals().get(func_name) 来得到函数:

def func_year(s):
 print 'func_year:', s

def func_month(s):
 print 'func_month:', s 

strs = ['year', 'month']
for s in strs:
 globals().get('func_%s' % s)(s)
"""
输出:
func_year: year
func_month: month
"""

以上这篇Python 由字符串函数名得到对应的函数(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

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

    在python中可以根据字符串来调用函数: 1.使用getattr从字符串来调用函数 在多进程中,可能传递过来的是一个字符串,那么我怎么来调用一个已经存在的函数呢,主要就是使用到getattr函数的作用,这个函数就是在使用字符串得到这个字符串对应的函数的对象,然后就可以进行执行,如下所示: 在模块中,存在两个函数: [root@python 530]# cat attr.py #!/usr/bin/env python def kel(): print 'this is a kel functi

  • Python 字符串操作方法大全

    1.去空格及特殊符号 复制代码 代码如下: s.strip().lstrip().rstrip(',') 2.复制字符串 复制代码 代码如下: #strcpy(sStr1,sStr2)sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print sStr2 3.连接字符串 复制代码 代码如下: #strcat(sStr1,sStr2)sStr1 = 'strcat'sStr2 = 'append'sStr1 += sStr2print sStr1 4.查

  • Python内置的字符串处理函数整理

    str='python String function' 生成字符串变量str='python String function' 字符串长度获取:len(str)例:print '%s length=%d' % (str,len(str)) 字母处理全部大写:str.upper()全部小写:str.lower()大小写互换:str.swapcase()首字母大写,其余小写:str.capitalize()首字母大写:str.title()print '%s lower=%s' % (str,st

  • python 通过字符串调用对象属性或方法的实例讲解

    有时候需要将属性或方法作为参数传入,这个时候可以通过以下几种方式用字符串调用对象属性或方法 1.eval In [634]: def getmethod(x,char='just for test'): ...: return eval('str.%s' % x)(char) ...: In [635]: getmethod('upper') Out[635]: 'JUST FOR TEST' 2.getattr In [650]: def getmethod2(x, char='just fo

  • Python 由字符串函数名得到对应的函数(实例讲解)

    把函数作为参数的用法比较直观: def func(a, b): return a + b def test(f, a, b): print f(a, b) test(func, 3, 5) 但有些情况下,'要传递哪个函数'这个问题事先还不确定,例如函数名与某变量有关. 可以利用 func = globals().get(func_name) 来得到函数: def func_year(s): print 'func_year:', s def func_month(s): print 'func_

  • Python中字符串String的基本内置函数与过滤字符模块函数的基本用法

    首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节 下面就直接介绍几种python中字符串常用的几种字符串内置函数(本文中牵扯到了模块与一些之前章节没讲过的相关知识,坑我之后会填的) 字符串切片(截取字符串): #字符串切片 string[开始位置:结束位置:步长] name = "巩祎鹏"print(name[0:]) #从第一个字符截取到最后一个字符 print(name[0:2]) #从第一个字符截取到第二个字符 prin

  • python将字符串list写入excel和txt的实例

    docs = ['icassp improved human face identification using frequency domain representation facial asymmetry', 'pattern recognition unsupervised methods classification hyperspectral images low spatial resolution', 'iscas post layout watermarking method

  • python判断字符串或者集合是否为空的实例

    最近在看<Effective Python>,里面提到判断字符串或者集合是否为空的原则,原文如下: Don't check for empty values (like [] or '') by checking the length (if len(somelist) == 0). Use if not somelist and assume empty values implicity evaluate to False. 意即,不要通过取字符串或者集合的长度来判断是否为空,而是要用not

  • python编写暴力破解zip文档程序的实例讲解

    编写暴力破解Zip文件要从学习zipfile库的使用方法入手,首先打开Python解释器,用help('zipfile')命令来了解这个库并重点看一下ZipFile类中的extractall()这个方法 ZipFile extractall() 让我们来写一个脚本测试一下Zip文件库的用法,首先创建一个有密码的压缩文件,这里设置密码为awd,文件名为evil.zip,要解压这个zip文件,实例化一个新的ZipFile类,使用extractall()方法,在可选参数pwd上填上密码 运行后你会发现

  • python 信息同时输出到控制台与文件的实例讲解

    python编程中,往往需要将结果用print等输出,如果希望输出既可以显示到IDE的屏幕上,也能存到文件中(如txt)中,该怎么办呢? 方法1 可通过日志logging模块输出信息到文件或屏幕.但可能要设置log的level或输出端,对于同时需要记录debug error等信息的较为合适,官方教程推荐学习用更规范的logger来操作. 例如,可参考来自官网的这段代码. import logging logging.basicConfig(filename='log_examp.log',lev

  • python模拟点击在ios中实现的实例讲解

    我们都知道因为操作系统的不同,很多游戏区分为安卓和苹果两个版本.那么之前学会python模拟点击的小伙伴开始担心,如果手机是ios版本那还能使用吗?这个问题小编进行了测试,小伙伴们完全不用忧虑ios版本,因为经过测试的结果是可以使用的.具体在ios中模拟点击使用的细节大家也可以看看了解一下. 代码示例 Python Version import socket import time # event types TOUCH_UP = 0 TOUCH_DOWN = 1 TOUCH_MOVE = 2

  • Python实现对百度云的文件上传(实例讲解)

    环境准备 python3.6 PyCharm 2017.1.3 Windows环境 框架搭建 selenium3.6 安装方法: pip install selenium 实现步骤: 一.步骤分析 1.选择"账号密码登录" 2.用户名.密码输入,登录 3.文件上传 注:本文主要介绍利用selenium包下的webdriver加载Firefox浏览器. 二.元素捕捉 利用火狐浏览器firebug插件复制控件的XPATH路径,注:Python3.6对应Firefox版本40.x,暂不支持最

  • python 将数据保存为excel的xls格式(实例讲解)

    python提供一个库 xlwt ,可以将一些数据 写入excel表格中,十分的方便.贴使用事例如下. #引入xlwt模块(提前pip下载好) import xlwt #使用workbook方法,创建一个新的工作簿 book = xlwt.Workbook(encoding='utf-8',style_compression=0) #添加一个sheet,名字为mysheet,参数overwrite就是说可不可以重复写入值,就是当单元格已经非空,你还要写入 sheet = book.add_she

随机推荐