如何创建Python类

如何创建Python类,python,python-2.7,Python,Python 2.7,我正在做一个项目,之前没有做一个我需要帮助的好例子,所以我的线程关闭了。我需要帮助的是在Python中创建一个类,该类将penny定义为一个对象,所以稍后我可以返回并将其更改为nickel、dime、quarter等,我对如何创建它有了基本的想法,只是想确保我走上了正确的轨道,或者我已经完全放弃了。在本文中,我需要创建类,然后找出如何按重量和高度添加它们。在开始时,您将被要求输入一个数字,以进入一个类,并输入您拥有的这些对象的数量,然后将数字相加 这让你了解我开始为penny类准备的内容,这是

我正在做一个项目,之前没有做一个我需要帮助的好例子,所以我的线程关闭了。我需要帮助的是在Python中创建一个类,该类将penny定义为一个对象,所以稍后我可以返回并将其更改为nickel、dime、quarter等,我对如何创建它有了基本的想法,只是想确保我走上了正确的轨道,或者我已经完全放弃了。在本文中,我需要创建类,然后找出如何按重量和高度添加它们。在开始时,您将被要求输入一个数字,以进入一个类,并输入您拥有的这些对象的数量,然后将数字相加


这让你了解我开始为penny类准备的内容,这是我需要的所有数据,我只是想确保我正确设置了它。另外,我如何将其导入到一个新类中,如Quarter()

您可能需要penny、nickel、dime、Quarter之类的Coin类来继承。此外,您应该只有一个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)

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

在创建类之前,请考虑您需要它做什么。你会希望它是可重用和灵活的。在您的情况下,创建便士类是最好的还是硬币类更好?如果创建penny类,则必须创建nickel类和dime类,以此类推。如果您创建一个coin类,您只需为每种新类型的硬币实例化一个新的类

一个类也只能有一个
\uuuu init\uuu
方法。不过,您可以在on方法中声明许多属性。例如:

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

也许您可以有一个名为Coin的父类,该类具有一组属性、重量和高度,具体取决于您想使用它做什么。然后从她那里继承来创造一便士或另一枚硬币

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

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

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

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

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

weight,height = coin_dict[1]

如果您想用数据封装操作,通常会使用类。。。或者,如果您的数据变得非常复杂。

-1用于发布屏幕截图,而不仅仅是剪切和粘贴代码。我认为屏幕截图将是最容易理解的方法,因为Python非常敏感。对不起,你为什么要用一个类来做这个?这似乎只是数据。。。通常,类也包含操作。我认为在python类中只能有一个init方法。@RobertMoskal您可以有2个。。。不过,只会使用最后一个。在python2中,您不需要
类Foo():
,在python2中使用
类Foo(对象):
,或者在Python3中,只需
类Foo:
(完全没有参数)。这不是问题,但看起来有点不对劲。你也可以在python2中执行
class Foo:
(至少在2.6中)