首页 > 解决方案 > 将变量分配给python类的最快方法

问题描述

说你有一个看起来像这样的课程

class class_name():
    def __init__(self,var1, var2, var3, var4, var5):
        self.var1 = var1
        self.var2 = var2
        self.var3 = var3
        self.var4 = var4
        self.var5 = var5

这可能会很长。我已经尝试使用 for 循环和exec语句,但没有奏效。是否有更短的方法将所有变量分配给类?

标签: python

解决方案


这看起来像一个数据类。

假设您的 vars 是字符串,您可以像这样定义数据类:

from dataclasses import dataclass

@dataclass
class ClassName:
    var1: str
    var2: str
    var3: str
    var4: str
    var5: str

这会自动定义一个init方法,如下所示:

def __init__(self, var1: str, var2: str, var3: str, var4: str, var5: str):
    self.var1 = var1
    self.var2 = var2
    self.var3 = var3
    self.var4 = var4
    self.var5 = var5

https://docs.python.org/3/library/dataclasses.html


推荐阅读