python之把字符串形式的函数编译执行

实现效果:执行字符串形式的函数

代码如下

 1 # name = ‘aaa‘
 2 # data = [18,32,33]
 3 # def hellocute():
 4 #     return  "name %s ,age %d" %(name,data[0])
 5 # a = hellocute()
 6 # print(a)
 7 namespace = {‘name‘:‘aaa‘,‘data‘:[18,32,33]}
 8 code = """def hellocute():return  "name %s ,age %d" %(name,data[0])"""
 9 fun = compile(code,‘<string>‘,‘exec‘)
10 exec(fun,namespace)
11 print(namespace)
12 ret = namespace[‘hellocute‘]()
13 print(ret)
 

原文地址:https://www.cnblogs.com/wenxianfeng/p/10362901.html

时间: 2024-12-12 10:25:08

python之把字符串形式的函数编译执行的相关文章

python 知识点:反射 之 getattr()实现以字符串形式导入模块和执行函数

# -*- coding: utf-8 -*- #知识点:反射 #通过字符串的形式去导入模块,这就是反射 #并以字符串的形式执行函数 #先看简单的小粒子 temp = 'mysql' #这个字符串是模块的名字(也就是mysql.py或sqlserver.py,后缀名不用写) func = 'count' #这个字符串是函数的名字(也就是mysql.py/sqlserver.py中的函数count) model = __import__(temp)    #以字符串的形式导入模块 #执行模块中的函

【Python】格式化字符串和format函数

## 本文基于Python3,可能存在部分内容不适配Python2 1. 最简单的字符串的输出: str1 = 'popma is so cool' print(str1) 输出: popma is so cool 2. '%S'格式化字符串输出: 格式化字符串时,字符串中有格式符,字符串就变成一个模板了: 例如: str2 = '%s is so cool' %'popma' print(str2) 输出还是像上面的一样,可以试试看. 但是如果有多个格式符,如何处理呢?Python用一个tup

Python自动化开发学习3-2-匿名函数、内置函数

匿名函数 如果函数值使用一次,并且结构结单(需要一行表达式),就可以使用匿名函数.匿名函数的好处: 程序一次行使用,所以不需要定义函数名,节省内存中变量定义空间 让程序更加简洁 普通函数: def test(x,y):     return x+y print(test(1,2)) 匿名函数: test = lambda x,y:x+y print(test(1,2)) lambda:定义一个匿名函数 冒号(:):分隔符 冒号之前的部分:函数的参数,可以无参数,但是冒号不能省 冒号之后的部分:函

Python学习总结17:exec和eval执行求值字符串

有些时候可能会需要动态地创造Python代码,然后将其作为语句执行或作为表达式计算. 1. exec >>>exec "print 'Hello, world!'" Hello, world! >>>from math import sqrt >>>exec "sqrt=i" >>>sqrt(4) Traceback (most recent call,ast): File "<

divmod(a,b)函数是实现a除以b,然后返回商与余数的元组、eval可以执行一个字符串形式的表达式、exec语句用来执行储存在字符串或文件中的Python语句

1 #!/usr/bin/env python 2 a = 10/3 3 print(a) 4 #divmod计算商与余数 5 r = divmod(10001,20) 6 print(r) 7 #eval可以执行一个字符串形式的表达式 8 ret = eval("1 + 3") 9 c = eval("a + 60",{"a": 99}) 10 print(ret) 11 print(c) 12 """exec语句

python字符串的format函数如何使用?

本文和大家分享的主要是python中字符串的format函数相关内容,一起来看看吧,希望对大家学习python有所帮助. 从python2.6之后,python中的字符串就有了str.format()函数这一格式控制的强大工具.相比于之前使用%的格式控制手段,str.format()函数显然更加符合我们的思维习惯,而且更加简洁. 语法 作为字符串的一个方法,它以{}和:来代替%,进行格式控制. 定位 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]:

Python列表、元组、字典和字符串的常用函数

Python列表.元组.字典和字符串的常用函数 列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object合并.注意:object如果是整型,必须以列表的方式传入,不可以以整型或元组的方式传入 2.ls.append(object) 将object作为一个整体插入到ls最后,object可以是字符串,元组,列表和字典 3.ls.insert(index, object

python中执行字符串形式的语句和字符串形式的表达式方法(即exec和eval方法)

前阵子一直在思考一个问题,就是如何让用户在图形界面上输入的代码(输入的代码为字符串),成为代码的一部分而运行起来,恰逢看python爬虫的视频教程的时候,看到了使用eval函数,之后查找到了该文章,解决了我思考的问题. @文章来源:https://my.oschina.net/duhaizhang/blog/66048 Python有时需要动态的创造Python代码,然后将其作为语句执行  或  作为表达式计算. exec用于执行存储在字符串中的Python代码.   1. 语句与表达式的区别:

python字符串内置函数

1.字符串 定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串特性:1.只能存放一个值2.不可变3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序补充: 1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l\thf' 2.unicode字符串与r连用必需在r前面,如name=ur'l\thf' 2.字符串常用操作 # 1字母处理: .upper()