如何创建Python类

时间:2014-03-19 20:54:59

标签: python python-2.7

我正在开展一个项目,并没有做一个很好的例子,我早些时候需要帮助,所以我的线程被关闭了。我需要帮助做的是在Python中创建一个将penny定义为对象的类,所以稍后我可以返回并将其更改为镍,角钱,四分之一等,我有基本的想法,如何创建它只是想要确保我走在正确的轨道上,或者我是否已完全切断。在这里我需要创建类,然后找出如何按重量和高度添加它们。在开始时,系统会要求您输入一个数字以进入课程并输入您拥有的这些对象中的数量并添加该数字。

这让您了解我已经开始为便士课程组装的内容,即我需要为课程提供的所有数据,以确保我正确设置它。另外,我如何将其导入到像Quarter()

这样的新类中

4 个答案:

答案 0 :(得分:8)

你可能想要像硬币,镍币,硬币,四分之一的硬币类继承。你也应该只有一个init方法

class Coin():
    def __init__(self,weight,height):
        self.weight = weight
        self.height = height

class Penny(Coin):
    def __init__(self):
        Coin.__init__(self,2.5,1.52)

答案 1 :(得分:2)

我只会使用字典,因为它只封装数据:

coin_dict = {1:(2.5,1.52),5:(nickle_weight,nickle_height),10:...}

weight,height = coin_dict[1]

如果你想用数据封装动作......或者你的数据变得非常复杂,你通常会使用一个类。

答案 2 :(得分:1)

也许您可以拥有一个名为Coin的父类,其中包含一组属性,重量和高度,具体取决于您要使用它的内容。然后继承她,创造一个便士或另一个硬币。

class Coin:
     def __init__(self, height, weight):
         self.height = height
         self.weight = weight

class Penny(Coin):
      self.color = "bronze"

从那里继续。然后,您可以创建一个列表,并使用Penny或Coin类中的对象填充它们。

答案 3 :(得分:0)

类是以数字格式表示现实世界数据/对象的好方法。

在创建课程之前,请考虑您需要做什么。您将希望它可重用且灵活。在你的情况下,创建一个便士类是最好还是硬币类会更好?如果你创建一个便士类,你将不得不创建一个镍类和一角钱等等。如果你创建一个硬币类,你只需要为每种新类型的硬币实例化一个新的硬币类。

一个类也只能有一个__init__方法。您可以在on方法中声明许多属性。例如:

class Pet:
    def __init__(self, name, species):
        self.name = name
        self.species = species