我对python(以及一般的编码)还比较陌生,我想知道如果知道对象的属性,是否有一种方法可以打印/查找对象。例如,如果我有这样一个类:
class Employee:
def __init__(self, nameLast, nameFirst, age, sex):
self.nameLast = nameLast
self.nameFirst = nameFirst
self.age = age
self.sex = sex
e1 = Employee("Doe", "John", 35, "male")
e2 = Employee("Donevan", "Jane", 32, "female")
e3 = Employee("McHipster", "Ron", 26, "male")
我知道一个姓,例如"Doe"
,我可以用它来获取、打印或存储实例"e1"
。你知道吗
mystery_function("Doe")
# Output: e1
就像我说的,我是新的编码,所以我可能会错过一些简单的东西,但我已经在网上搜索了几个小时的解决方案,但我没有任何运气。你知道吗
编辑:
所以,我觉得我需要解释我想做的其他事情。一旦我得到了实例e1
,我就需要在下一个函数中使用它。你知道吗
其思想是,当用户搜索一个名称(例如Doe
)时,程序需要定位对象以便在下一个函数中使用它。。。比如:
def func_next(e): # Where e1 is the output from the previous bit
print("Hi my name is " + e.nameLast + ", " + e.nameFirst + ", a "
+ str(e.age) + " year old " + e.sex + " working at Company X.")
func_next(e1)
# Hi my name is Doe, John, a 35 year old male working at Company X.
我希望这有意义。据我所知,e1
不能是字符串,因为它在后续函数中不起作用。我列出的代码是一个(无可否认是愚蠢的)示例,但它传达了我要做的:
输入(对象的字符串和属性)-->;对象引用(例如e1
)-->;function(e)
(其中e是对象引用)-->;输出
你可以通过创建一本字典来欺骗自己:
这可能不是最好的表示您的数据作为一个字典,虽然。。。这可能更适合:
为了有一个好的输出,您应该向类中添加一个
__str__
方法。你知道吗回答您的更新:
所以这一切都如你所料。你知道吗
相关问题 更多 >
编程相关推荐