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 2020-02-09 16:26  墨语i  阅读(153)  评论(0)    收藏  举报