python - 在 python 中使用用户输入(input)向类添加新对象

标签 python class user-input

我正在尝试向类(emne)添加新对象,但需要使用用户输入创建该类的新实例。因此,我需要一种方法来选择对象的名称并通过用户输入设置对象的一些值。

我已经尝试创建一个函数,将用户输入的值传递到 x = emner(x) 中以创建它,但它只返回: AttributeError:“str”对象没有属性“fagKode” 所以我认为我的问题是输入的值被创建为字符串,因此它不会被理解为创建函数的方式

 emne=[]
 class Emne:

    def __init__(self,fagKode):
        self.fagKode = fagKode
        self.karakter = ""
        emne.append(self)


    def leggTilEmne():
        nyttEmne = input("test:")
        nyttEmne=Emne(nyttEmne)

预期结果是代码创建该类的一个新实例。

最佳答案

如果您选择的名称是指您的 fagKode 属性,那么您需要的是:

fagKode = input('Enter code: ')
Emne(fagKode)

您将 Enme 的实例添加到构造函数中的列表中,因此不需要将它们保存到变量中。

或者,您可以在函数中处理它:

 emne=[]
 class Emne:

    def __init__(self,fagKode):
        self.fagKode = fagKode
        self.karakter = ""        


    def leggTilEmne():
        nyttEmne = input("test:")
        enme.append(Emne(nyttEmne))

关于python - 在 python 中使用用户输入(input)向类添加新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55418542/

相关文章:

c++ - 类范围和私有(private)成员?

jquery - 绑定(bind)手动输入值并将偏差报告到另一个输入列

Python,Selenium,如何在元素消失后退出 while 循环?

python - 如何绕过Python的字符限制?

python - 找到一个被三个大写字母包围的小写字母

java - 使用 JTextField 进行可重复使用的删除确认

javascript - 在 node.js 中等待用户输入

python - matplotlib:在样式表中设置标题颜色

c++ - 构造对象两次

php - TYPO3 TCA 值作为 Fluid 上的变量