如何创建Python类

问题描述 投票:0回答:5

我正在开发一个项目,但没有很好地说明我之前需要帮助的内容,因此我的线程已关闭。我需要帮助做的是在Python中创建一个类,将便士定义为一个对象,所以稍后我可以返回并将其更改为镍,一毛钱,四分之一等,我有如何创建它的基本想法确保我走在正确的轨道上,或者我是否已经完全偏离了方向。在此,我需要创建类,然后弄清楚如何按体重和身高添加它们。一开始,您将被要求输入一个数字以进入班级,然后输入您拥有的这些物体的数量并将数字相加。

这让您了解我已经开始为便士类整理什么,这是我为该类所需的所有数据,只是想确保我设置正确。另外我该如何将其导入到像 Quarter() 这样的新类中

python python-2.7
5个回答
8
投票

您可能需要像 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)

2
投票

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

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

weight,height = coin_dict[1]

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


1
投票

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

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

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

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


0
投票

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

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

一个类也只能有一个

__init__
方法。不过,您可以在 on 方法中声明许多属性。例如:

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

0
投票

我会做这样的事情:

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

如果需要,您可以添加一个方法来获取硬币的高度和重量。

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

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.