python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!
Posted Python 集中营
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!相关的知识,希望对你有一定的参考价值。
eval()函数
1、执行一个打印函数
eval("print(\'Python 集中营\')")
# Python 集中营
#
# Process finished with exit code 0
2、自定义函数执行
def hello_world():
print("Python 集中营\\n 执行成功")
eval(\'hello_world()\')
# Python 集中营
# 执行成功
#
# Process finished with exit code 0
locals()与globals()
\'\'\'
函数说明:可以访问全局、局部变量
locals(): 只读、不可对变量进行修改
globals(): 可读、可写
\'\'\'
1、赋值操作
a = \'1\'
def test():
b = \'2\'
globals()[\'a\'] = 3
locals()[\'b\'] = 3
print(\'a = \',a)
print(\'b = \',b)
# a = 3
# b = 2
2、执行函数操作
\'\'\'
globals()[\'函数名称\'](参数)
locals()[\'函数名称\'](参数)
\'\'\'
globals()[\'test\']()
getattr()函数
\'\'\'
函数说明:getattr()函数相比其他函数来说要更加安全一些
getattr(类名, \'函数名称\')(参数)
\'\'\'
class Test_Class:
def hello_world(self, a,b):
print(\'a * b 的结果是:\',a * b)
getattr(Test_Class(), \'hello_world\')(2,4)
# a * b 的结果是: 8
【粉丝福利】关注公众号,获取全套视频资料,在一些特殊需求的情况下,需要通过执行字符串的方式来执行特殊代码块的执行过程。类似于java的反射机制python中也提供了这样的函数,操作起来相当简单快来了解一下。喜欢小编点个 \'关注\' 吧!
【往期精彩】
● python-Coverage 代码覆盖率统计工具,生成html代码报告
● 磨刀不误砍柴工,PyCharm开发工具的常规配置,充分提高开发效率!
● python程序的处理进度、可视化管理,对运行步骤一目了然!
● python-openpyxl Excel的单元格样式设置,包括字体、样式、宽高等等!
● 了解一下百度提供的python通用文字识别功能,距离百度AI近了一点点!
● 一句代码生成的超炫二维码
● python-docxtpl妙用:论文神器,excel习题集自动转换成word文档格式!
● 办公室文员必备python神器,将PDF文件表格转换成excel表格!
● python 中最好用的身份证规则解析工具,地区码、性别、出生年月、身份证编码等快速校验!
● os用法总结:python中必须掌握的内置模块os,实现与计算机操作系统的常规交互!
● python 实用技巧:几十行代码将照片转换成素描图、随后打包成可执行文件(源码分享)
● python十行代码实现文件去重,去除重复文件的脚本
● python的GUI框架tkinter,实现程序员的流氓式表白逻辑
● 探究python函数的不定长参数*args与**kwargs
本文由微信公众号【python 集中营】发布,更多精彩文章、视频资料即可领取!
以上是关于python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!的主要内容,如果未能解决你的问题,请参考以下文章