>>>exec ('print "hello world"')
hello world
我们给exec传入一个字符串'print "hello world"',exec是执行字符串里面的代码print "hello world"。根据这个特性,我们可以用占位符实现我们对变量的定义,如:
exec ("temp%s=1"%1)
这段代码的意思是,让exec执行temp1=1。字符串里面的%s由‘1'代替了。我们在外面再套一个循环就可以实现对多个变量的定义了。
for i in range(10):
exec ("temp%s=1"%i)
在这里,通过一个循环来生成10个变量,i的变化从0到9。用变量i替代%s,所以在每次循环里面,分别给temp0,temp1赋值。
如果想要替换多个占位符,可以这样写:
exec ("temp%s=%d"%(i,i))
我们很常做的一件事就是在for
循环
里
定义
一个
变量
并初始化(如上面
定义
的i,初始化为1),这个
变量
有可能是为了做
循环
限制而
定义
的,而此时
变量
只做为for
循环
的局部
变量
循环
结束后就不能再使用i这个
变量
。
这是C99规定了一种新的for
循环
语法,这种语法也是从C++借鉴的,考虑到兼容性不建议使用这种写法。
创建
多个
可以自
定义
名称的
变量
name_list = ['aa', 'bb', 'cc'] #
定义
变量
名
for i in range(len(name_list)):
cmd = "%s=i" %name_list[i] #
定义
该
变量
要赋的值(此处为i)
exec(cmd)
eval("%s" %name_list[i])
print(aa)
print(bb)
print(...
[(1, -1), (2, -2), (3, -3)]
zip([seql, …])接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。
然后,如何使用一个for
循环
同时
循环
多个
变量
呢?使用tup...
在
Python
中,可以使用
循环
来批量
定义
多个
变量
。一个方法是使用exec函数来执行字符串形式的代码,通过在字符串中使用%s来代替
变量
名,然后使用
循环
来生成
多个
变量
。例如,可以使用以下代码来
定义
多个
变量
:
```
python
name_list = \['aa', 'bb', 'cc'\]
for i in range(len(name_list)):
cmd = "%s=i" %name_list\[i\]
exec(cmd)
这段代码的意思是,通过
循环
遍历name_list列表中的元素,将每个元素作为
变量
名,然后使用exec函数执行字符串形式的代码,将
变量
名与对应的值进行赋值。最后,可以使用eval函数来获取每个
变量
的值。例如,可以使用以下代码来打印出每个
变量
的值:
```
python
print(aa)
print(bb)
print(cc)
输出结果将会是:
另一种方法是使用类来批量实例化
多个
对象。可以
定义
一个类,然后在
循环
中使用exec函数来执行字符串形式的代码,将
变量
名与对应的对象进行赋值。例如,可以使用以下代码来
定义
多个
对象:
```
python
class haha:
def __init__(self, m, n):
self.max = m
self.min = n
k = 5
l = 1
name_list = \['aa', 'bb', 'cc'\]
for i in range(len(name_list)):
cmd = "%s=haha(k, l)" %name_list\[i\]
exec(cmd)
这段代码的意思是,通过
循环
遍历name_list列表中的元素,将每个元素作为
变量
名,然后使用exec函数执行字符串形式的代码,将
变量
名与对应的对象进行赋值。最后,可以使用对象的属性来获取每个对象的属性值。例如,可以使用以下代码来打印出每个对象的max和min属性值:
```
python
print(aa.max)
print(aa.min)
print(bb.max)
print(bb.min)
输出结果将会是:
综上所述,以上是两种在
Python
中
循环
定义
多个
变量
的方法。
#### 引用[.reference_title]
- *1* *3* [
python
循环
创建
多个
变量
](https://blog.csdn.net/a6840231/article/details/90055058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [
python
:
循环
定义
多个
变量
](https://blog.csdn.net/sada456/article/details/80359522)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]