python内置函数通过字符串的方式来执行函数代码块类似java的反射

2021-09-14 22:00 Python 集中营

【粉丝福利】关注公众号,获取全套视频资料在一些特殊需求的情况下,需要通过执行字符串的方式来执行特殊代码块的执行过程。类似于java的反射机制python中也提供了这样的函数,操作起来相当简单快来了解一下。喜欢小编点个 '关注' 吧!

Python 集中营
Python 集中营
基础巩固、进阶提升、编程技巧、实战总结,在 Python 的路上越走越宽!
149篇原创内容
公众号

eval()函数

1、执行一个打印函数

1eval("print('Python 集中营')")
2
3# Python 集中营
4#
5# Process finished with exit code 0

2、自定义函数执行

1def hello_world():
2    print("Python 集中营\n 执行成功")
3
4eval('hello_world()')
5
6# Python 集中营
7#  执行成功
8#
9# Process finished with exit code 0

locals()与globals()

1'''
2函数说明:可以访问全局、局部变量
3locals(): 只读、不可对变量进行修改
4globals(): 可读、可写
5'''

1、赋值操作

 1a = '1'
2def test():
3    b = '2'
4    globals()['a'] = 3
5    locals()['b'] = 3
6    print('a = ',a)
7    print('b = ',b)
8
9# a =  3
10# b =  2

2、执行函数操作

1'''
2globals()['函数名称'](参数)
3locals()['函数名称'](参数)
4'''

5globals()['test']()

getattr()函数

 1'''
2函数说明:getattr()函数相比其他函数来说要更加安全一些
3getattr(类名, '函数名称')(参数)
4'''

5
6class Test_Class:
7    def hello_world(self, a,b):
8        print('a * b 的结果是:',a * b)
9
10getattr(Test_Class(), 'hello_world')(2,4)
11
12# a * b 的结果是:8

图片
图片
图片
扫码关注我们
更多精彩等待你发现
图片
图片
图片
往期精选

09月14日


● 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


图片
创作不易,点赞、分享支持一下 ~图片
本文章转载自公众号:lwsbc1024

首页 - Python 相关的更多文章: