gpt4 book ai didi

python - 根据 Python 3x 中的用户输入打印对象属性

转载 作者:太空宇宙 更新时间:2023-11-04 06:19:32 25 4
gpt4 key购买 nike

首先,我想说我是 Python 初学者(或编程初学者),我正在尝试弄清楚如何根据用户输入打印对象的属性。

这是我目前的代码:

class Customer:
"De klasse customer"

def __init__(self, naam, adres, woonplaats, email):
self.naam = naam
self.adres = adres
self.woonplaats = woonplaats
self.email = email

input1 = input ("Enter the object name")
print(input1.naam) ## ** << This is what i like to know**

a = Customer('Name1', 'address', 'Utrecht', 'Email1@hotmail.com')
b = Customer('Name2', 'Bonestaak', 'Maarssen', 'Bijjaapishetaltijdraakhotmail.com')

所以我基本上希望这样:print(a.naam) 可以工作,但是“a”必须由用户输入。

进行了一些搜索,但到目前为止没有成功。

最佳答案

您可以使用locals 函数:

>>> a = {1:'abc'}
>>> obj = raw_input('Obj?> ')
Obj?> a
>>> print locals()[obj][1]
abc
>>>

然而,这是一个高度不安全的结构(本地人还有其他东西!)


更简洁的方法是:

customers = {
'a' : Customer('Name1', 'address', 'Utrecht', 'Email1@hotmail.com')
'b' : Customer('Name2', 'Bonestaak', 'Maarssen', 'Bijjaapishetaltijdraakhotmail.com')
}

customer = raw_input('Customer? > ')
print customers[customer].naam

不过,您需要正确处理 KeyError!

关于python - 根据 Python 3x 中的用户输入打印对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com