Python 3.x 获取对象python 3的所有属性
我阅读了所有关于这个的问题和答案,但似乎没有任何帮助,使用其中一个答案中的var非常接近,但我需要对不同的对象使用相同的函数。我应该在函数中做些什么改变,这样我就不必为每个对象创建多个函数,我的意思是说,我有另一个对象人类,植物,我需要为每个对象创建一个函数吗?只需更改动物语法:Python 3.x 获取对象python 3的所有属性,python-3.x,function,class,attributes,Python 3.x,Function,Class,Attributes,我阅读了所有关于这个的问题和答案,但似乎没有任何帮助,使用其中一个答案中的var非常接近,但我需要对不同的对象使用相同的函数。我应该在函数中做些什么改变,这样我就不必为每个对象创建多个函数,我的意思是说,我有另一个对象人类,植物,我需要为每个对象创建一个函数吗?只需更改动物语法: class Animal(object): def __init__(self): self.legs = 2 self.name = 'Dog'
class Animal(object):
def __init__(self):
self.legs = 2
self.name = 'Dog'
self.color= 'Spotted'
self.smell= 'Alot'
self.age = 10
self.kids = 0
def get_info(self) :
if __name__ == '__main__':
animal = Animal()
temp = vars(animal)
for item in temp:
print(item , ' : ' , temp[item])
您应该执行以下操作,而不是硬编码变量:
class Animal(object):
def __init__(self, legs, name, color, smell, age, kids):
self.legs = legs
self.name = name
self.color= color
self.smell= smell
self.age = age
self.kids = kids
if __name__ == '__main__':
animal = Animal(2, 'Dog', 'Spotted', 'Alot', 10, 0)
temp = vars(animal)
for item in temp:
print(item , ' : ' , temp[item])
我发现我所要做的就是将用户输入分配给一个变量,然后从如下对象调用它:
class Animal(object):
def __init__(self):
self.legs = 2
self.name = 'Dog'
self.color= 'Spotted'
self.smell= 'Alot'
self.age = 10
self.kids = 0
noun = input()
def get_info(noun) :
if __name__ == '__main__':
character = Object.objects[noun]
temp = vars(character)
for item in temp:
print(item , ' : ' , temp[item])
因此,将其他对象传递到
vars()
?循环只是打印出结果字典中的变量。什么函数?您还没有创建函数-如果创建了,那么您可以将其用于任何对象。@Martijin Peters代码太大,无法发布,但我需要根据用户输入单独返回每个对象属性。如果我将其他对象传递给变量,它将只打印所有对象的所有属性。难道没有一个变量可以替换动物对象吗所以它返回用户指定的@AChampion是的我创建了函数我将更新我仍然需要为每个对象编写一个函数这样向我解释你到底想做什么我试图定义一个返回对象所有属性的函数,因此,当用户想要了解对象时,他所要做的就是激活他从多个对象中指定的对象的功能。