我正在我的学校完成Python Programming 157的任务。 我需要编写一个名为Pet的类,它具有以下数据属性:
__name (for the name of the pet)
__animal_type (Examples: "Cat", "Dog", and "Hamster" )
__age (for the pet's age)
__height (for the pet's height)
需要包括
set_name
get_name
我尝试了4次似乎无法做到正确......任何有关它开始的线索?
# The Pet Program.
class PetProgram:
# The __init__ method accepts an argument for the program
# and adds it to the __pets attribute.
def __init__(self, pet):
self.__pets = pet
# The name will add to the pet attribute.
def name(self, name):
self.__pets = name
def age(self, age):
self.__pets = age
def animal(self, animal):
self.__pets = animal
def height(self, height):
self.__pets = height
# The pets_return will show you the list.
def pets_return(self):
return self.__pets
# The Pet Program.
import petsprogram
def main():
# Enter the name.
petname = input('What is the name of the pet: ')
print 'This will be added to the record.'
savings.name(petname)
# Display the list.
print petsprogram
main()
以上是我最近的尝试......没有这样的运气......有什么帮助吗?提前谢谢......
答案 0 :(得分:4)
class
不是程序,class
应该为宠物建模。因此,首先,你应该适当地命名你的班级。
class Pet(object): # Pet derives from the object class, always do this
现在我想你想要一个带有宠物名字的构造函数,也许还有宠物的类型,所以我们将定义它。
def __init__(self, pet_name, pet_type):
self.pet_name = pet_name
self.pet_type = pet_type
您还需要get
和set
作为名称:
def get_name(self):
return self.pet_name
def set_name(self, pet_name):
self.pet_name = pet_name
要使用此类,请将其实例化为类的实例:
puppy = Pet('Rover', 'Dog')
puppy.get_name() # prints Rover
我希望这足以让你前进。您应该阅读评论中提到的Python中的OOP。
答案 1 :(得分:1)
首先,您为什么使用“私人”__attributes
?这似乎没有必要。
其次,您将所有属性分配给同一个实例变量:
self.__pets = pet
self.__pets = name
self.__pets = age
self.__pets = animal
self.__pets = height
你应该使用像
这样的东西def __init__(self, pet, name, age, animal, height):
self.pet = pet
self.name = name
self.age = age
self.animal = animal
self.height = height
你应该在冒险之前阅读tutorial on classes。
答案 2 :(得分:0)
我不确定__pets绑定在哪里发挥作用。您的初步描述没有说明任何相关内容。我不会期望一个代表宠物的物体,如一只奇异的宠物,具有属于宠物列表的属性。我希望有类似的东西:
class PetProgram:
def __init__(self, name ='', age=0, type='Unknown', height=0):
self.__name = name
self.__age = age
self.__animal_type = type
self.__height = height
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
我也不确定导入宠物程序来自哪里...是你应该称之为你的模块,然后教练提供了你应该运行的东西来测试它?
(同样,所有__under_scores都是什么?这是你老师鼓励的事情吗?)
答案 3 :(得分:0)
这样的事情怎么样?
>>> class Pets:
def set_Name(self,name):
self.name=name
def get_Name(self):
return self.name
def set_Atype(self,atype):
self.atype=atype
def get_Atype(self):
return self.atype
def set_Age(self,age):
self.age=age
def get_Age(self):
return self.age
def set_Height(self,height):
self.height=height
def get_Height(self):
return self.height