python - 有没有比 globals() 更好的方法在 For 循环中创建多类变量?
问题描述
我想看看有没有更好的方法。我对python有点陌生。这是我尝试和使用课程的一种方式。任何帮助或建议都会很好。
class Employee:
def __init__(self, first, last, pay):
self.first = first
self.last = last
self.pay = pay
self.email = first + '.' + last + '@company.com'
for Number in range(30):
globals()[f"E{Number}"] = Employee('First', 'Last', 0)
print(E5.__dict__)
解决方案
如果你想要一个实例集合,不要使用单独命名的变量;使用像列表这样的容器
Es = [Employee('First', 'Last', 0) for _ in range(30)]
或字典
Es = {k: Employee('First', 'Last', 0) for k in range(30)}
Es
在这两种情况下,您都可以使用int
;进行索引。adict
在使用何种索引方面为您提供了更大的灵活性。
推荐阅读
- c# - Docker 容器的 ASP.NET MVC 问题
- c# - C#获取Oracle查询执行时间
- c++ - 在 SFINAE 上下文中使用的表达式中使用的 static_assert
- ruby-on-rails - 用于复杂关联的 ActiveModel 序列化器
- html - 为什么 HTML 不允许嵌套表单?
- android - 如何将相机基本照片中的照片保存在数据库中?
- excel - 从“ThisWorkbook”问题中复制
- gitlab - Gitlab CI/CD 作业的日志超出限制
- java - 当 Junit 使用 Gradle 测试成功时自动提交 Git
- android - 如何捕获股票 Android Clock 应用程序事件?