在Python中,内建函数是被自动加载的,编程者可以随时调用这些函数,不需要定义,极大地简化了编程。
eval()函数
eval()函数用于对动态表达式的求值,其语法格式如下:
eval(source, globals = None, locals = None)
其中,source是动态表达式的字符串,globals和locals是求值时使用的上下文环境的全局变量和局部变量,如果不指定,则使用当前运行上下文。
接下来演示eval()函数的用法,如下所示。
1 x = 6
2 str = input('请输入包含x(x = 6)的Python表达式:')
3 print(str, '的结果为', eval(str))
运行结果如下图所示。
运行结果
在上例中,通过input()函数输入Python表达式,接着通过eval()函数求出该表达式的值。
exec()函数
exec()函数用于动态语句的执行,其语法格式如下:
exec(source, globals = None, locals = None)
其中,source
是动态语句的字符串,globals
和locals
是使用的上下文环境的全局变量和局部变量,如果不指定,则使用当前运行上下文。
接下来演示exec()函数的用法,如下所示。
1 str = input('请输入Python语句:')
2 exec(str)
运行结果如下图所示。
运行结果
在上例中,通过input()函数输入Python语句,接着通过exec()函数执行该语句。
compile()函数
compile()函数用于将一个字符串编译为字节代码,其语法格式如下:
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
其中,source
为代码语句的字符串,filename
为代码文件名称,如果不是从文件读取代码则传递一些可辨认的值,mode
为指定编译代码的种类,其值可以为exec
、eval
、single
,剩余参数一般使用默认值。
接下来演示compile()函数的用法,如下所示。
1 str = input('请输入Python语句:')
2 co = compile(str, '', 'exec')
3 exec(co)
运行结果如下图所示。
运行结果
在上例中,通过input()函数输入Python语句,接着通过compile()函数将字符串str转换为字节代码对象。
网友评论