python中exec作用域的问题

我是小白,在看一本爬虫教材时用到了exec方法,但有一个地方不懂,就把那一段简化成一个函数。
第一个情况,把name变量和两端用+连接,第二种直接写在一个字符串中,第三种直接打印
看不懂前两个的区别,不都是一个字符串吗?顺便请教一下exec的作用域的问题...心好累
请教好心人,非常感谢

def func():

list = ['a', 'b', 'c']

x = 1for a in list:
    name = 'number' + str(x)  # 动态创建变量
    exec(name + '=a')  # 赋值
    exec('print(' + name + ')')
    x += 1

func()

a

b

c

def func():

list = ['a', 'b', 'c']

x = 1for a in list:
    name = 'number' + str(x)  # 动态创建变量
    exec(name + '=a')  # 赋值
    exec('print(name)')
    x += 1

func()

number1

number2

number3

def func():

list = ['a', 'b', 'c']

x = 1for a in list:
    name = 'number' + str(x)  # 动态创建变量
    exec(name + '=a')  # 赋值
    print(name)
    x += 1

func()

number1

number2

number3


慕桂英4014372
浏览 824回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python