1、作用:
将字符串当做代码执行
a、eval
# !/usr/bin/python
# coding=utf-8
__author__ = "hhj"
eval("print(22222)")
if __name__ == '__main__':
eval("print(22222)")
但是eval不够强大,不能执行复杂字符串,可使用exec
b、exec
# !/usr/bin/python
# coding=utf-8
__author__ = "hhj"
strvar = """
for i in range(5):
print(11111)
"""
print(strvar)
exec(strvar)
if __name__ == '__main__':
print("start exec")
# ### 这里要注意的是由于此strval在main的代码块中,因此里面的字符不含main中代码块的缩进
strvar = """
for i in range(5):
print(11111)
"""
# ### 错误实例,该strvar包含了main的缩进,可打印观察比较
# strvar = """
# for i in range(5):
# print(11111)
# print(strvar)
# """
print(strvar)
exec(strvar)
2、注意:
执行字符串时,先打印字符串观察,缩进是否有问题(字符串不要包含代码块中的缩进),字符串中是否包含了代码块中的缩进
posted on
浙公网安备 33010602011771号