1.eval()函数
用于执行一个字符串表达式,并返回表达式的值。
语法:
eval(expression[,globals[,locals]])
expression:字符串类型表达式。
globals: 可选参数,变量作用域,全局命名空间,如果指定了globals参数,globals参数必须是一个字典对象。
locals:可选参数,变量作用域,局部命名空间,如果指定了locals参数,则locals参数可以是任何映射对象。
#示例1:
print(eval('1+2+3+9+8+7'))
#示例2:
n = 3
print(eval("n+3")
#示例3:
print(eval("pow(n,3)"))
#示例4:
#定义空的序列对象,然后通过循环分别计算每一个数的3次方的值
i = 0
list1 = []
while i < 10:
list1.append(eval("pow(i,3)"))
i+=1
print(list1)
#示例5:
#使用eval()函数实现数据之间的转换
a = "[100,78,89,90]"
print(type(a))
print(type(eval(a)))
运行结果:
30
6
8
[0,1,8,27,64,125,216,343,512,729]
<class 'str'>
<class 'list'>
2.exec()函数
用于执行存储在字符串或文件中的Python语句
语法:
exec(object[,globals[,locals]])
object:是必选参数,表示需要被指定的python代码。它必须是字符串或code对象。
如果object是一个符串,则该字符串会被先解析为一组python代码,再执行。如果object 是一个code 对象,则它只是被简单的执行。
globals:可选参数,表示全局命名空间。如果指定该参数,则必须是一个字典对象。
locals:可选参数,表示当前局部命名空间,如果指定该参数,则可以是任何映射对象。
#将可执行代码定义在字符串变量中,再通过exec()函数执行这个字符串。
code = """
import random
i = 0
list = []
while i < 10:
list1.append(random.randint(0,100))
i +=1
print(list1)
"""
exece(code)
运行结果:
[58, 38, 19, 41, 8, 93, 82, 19, 50, 48]
#因为是随机数列,多次运行的结果不一致。
3.ascii()函数
返回对象的可打印字符串表现方式。
语法:
ascii(object)
object:对象
返回值:返回一个表示对象的字符串。
#示例:
print(ascii(89))
print(ascii("我爱我的祖国"))
print(ascii("Python"))
运行结果:
89
'\u6211\u7231\u6211\u7684\u7956\u56fd'
'Python'