今天和扬哥讨论如何通过循环定义多变量,从而达到简化定义变量过程的目的,扬哥研究之后让我使用两个函数local()和exec(),local()相当于定义了一个字典并返回了一个局部变量,但是值不能再做改变。而exec()相当于把字符串中的话提取出来,作为一句代码执行。更推荐使用exec()方法,而且该方法的适用性更广泛。
class Student():
#定义四个属性
def __init__(self,name,age,gender,score):
self.name=name
self.age=age
self.gender=gender
self.score=score
#定义输出方法
def info(self):
print(f'Name:{self.name},Age:{self.age},gender:{self.gender},score:{self.score}')
for i in range(1,6):
lst=(input(f'请输入第{i}个学生的信息:').split('#'))
exec(f'stu_{i}=Student(lst[0],lst[1],lst[2],lst[3])') #exec函数会把字符串变成一句代码并执行
for i in range(1, 6):
locals()[f'stu_{i}'].info() #local函数返回多个变量
本文讨论了在Python中通过循环定义多变量以简化定义过程的方法。研究后推荐使用exec()函数,它能将字符串内容作为代码执行,适用性比local()函数更广泛,local()虽能定义字典并返回局部变量,但值不可再改变。
3940

被折叠的 条评论
为什么被折叠?



