内置函数:exec、eval、compile

eval:将字符串内的代码执行,有返回值,用于简单的计算exec:将字符串内的代码执行,没有返回值,用于简单的逻辑判断   均可以读取文件进行执行
info_str = ‘1+2+3‘
couunt = eval(info_str)
couunt1 = exec(info_str)
print(couunt)#返回6
print(couunt1)#无返回值

jud =‘‘‘
def func(a,b):
    return a if a>b else b
func(1,2)
‘‘‘
exec(jud)#无返回值

jud1 =‘‘‘
for i in range(10):
    print(i)
‘‘‘
exec(jud1)#返回0-9
compile:将源代码编译成可以由exec()或eval()执行的代码对象。源代码可以表示Python模块、语句或表达式。‘single‘编译单个(交互的)语句
code = ‘1+2+3‘
cpe = compile(code,‘‘,‘eval‘)
print(eval(cpe))

code = ‘for i in range(10):print(i)‘
cpe = compile(code,‘‘,‘exec‘)
exec(cpe)

code = ‘name = input("请输入你的姓名:")‘
cpe = compile(code,‘‘,‘single‘)
# print(name)#未输入,执行报错
exec(cpe)#执行代码,输入name
print(name)#语句报错,但执行时不会报错,并能够获取输入的值
 

原文地址:https://www.cnblogs.com/aizhinong/p/11404132.html

时间: 2024-08-26 17:45:26

内置函数:exec、eval、compile的相关文章

Python标准库:内置函数exec(object[, globals[, locals]])

本函数是执行一段语句或函数.参数object是一个字符串的语句或者一个编译过的语句的对象名称.参数globals是全局命名空间,用来指定执行语句时可以访问的全局命名空间:参数locals是局部命名空间,用来指定执行语句时可以访问的局部作用域的命名空间.要注意本函数不会返回任何值,不管函数或语句有任何的返回值语句,比return或yield语句. 如果参数globals和locals忽略,就会使用调用时所处的命名空间.这两个参数都要求是字典形式来说明命名空间. 在前面已经学习compile.eva

python eval()内置函数

python有一个内置函数eval(),可以将字符串进行运行. 通过help(eval)查看帮助文档 Help on built-in function eval in module builtins: eval(source, globals=None, locals=None, /) Evaluate the given source in the context of globals and locals. The source may be a string representing a

函数生成器、推导式及python内置函数

函数生成器.推导式及python内置函数 函数生成器 生成器的定义 在 Python 中,使用了 yield 的函数被称为生成器(generator). 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器. 在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行. 调用一个生成器函数,返回的是一个迭代器对象. 生成器与迭代器的区别 生成

内置函数—eval、exec、compile

内置函数----eval.exec.compile eval()将字符串类型的代码执行并返回结果.print(eval('1+2+3+4'))输出:10 exec() 将字符串类型的代码执行.print(exec("1+2+3+4"))exec("print('hello,world')")指定global参数code = '''import os print(os.path.abspath('.'))'''code = '''print(123)a = 20pri

Python内置函数(20)——exec

英文文档: exec(object[, globals[, locals]]) This function supports dynamic execution of Python code. object must be either a string or a code object. If it is a string, the string is parsed as a suite of Python statements which is then executed (unless a

python3全栈开发-内置函数补充,反射,元类,__str__,__del__,exec,type,__call__方法

一.内置函数补充 1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() print(isinstance(obj, Foo)) #结果为True 2.issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo(object): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) #结果为True

Python中内置函数的介绍

内置函数的功能介绍 常用内置函数如下: 1.abs() 绝对值 格式:abs(x) 例如:print(abs(-18)) >>> 18 返回值:number #该函数主要用于数值类的操作 2.all() 是否都为真 格式:all(iterable) 例如:print(all([1,2,3,])) >>> Ture 返回值:bool #该函数主要用于可迭代对象的操作,主要为列表.元祖.字典和集合.当这些类型的元素中有空字符串.空列表.空元祖.空字典.空集合时,则返回值为F

python函数(6):内置函数和匿名函数

我们学了这么多关于函数的知识基本都是自己定义自己使用,那么我们之前用的一些函数并不是我们自己定义的比如说print(),len(),type()等等,它们是哪来的呢? 一.内置函数 由python内部定义好我们可以直接调用的函数就叫内部函数.python一共给我们68个内置函数: abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() as

python补充最常见的内置函数

最常见的内置函数是: print("Hello World!") 数学运算 abs(-5)                         # 取绝对值,也就是5 round(2.6)                       # 四舍五入取整,也就是3.0 pow(2, 3)                        # 相当于2**3,如果是pow(2, 3, 5),相当于2**3 % 5 cmp(2.3, 3.2)                   # 比较两个数的大小

python函数: 内置函数

forthttp://blog.csdn.net/pipisorry/article/details/44755423 Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义. Built-in Functions     abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id(