如何在python中将基于函数的程序转换为类概念

如何在python中将基于函数的程序转换为类概念,python,Python,我有一个程序,但不包含类的概念(Python程序遵循一些值到类的概念),我在Python世界中是一个新的程序。所以,从最初的方式学习帮助我在这个世界上发光。谁能帮我个忙,而不是打这个否定的问号:( 为了理解:我的xml是 <books> <book name="goodbook" cost="10" color="green"></book> <book name="badbook" cost="1000" weight="100"><cov

我有一个程序,但不包含类的概念(Python程序遵循一些值到类的概念),我在Python世界中是一个新的程序。所以,从最初的方式学习帮助我在这个世界上发光。谁能帮我个忙,而不是打这个否定的问号:(

为了理解:我的xml是

<books>
<book name="goodbook" cost="10" color="green"></book>
<book name="badbook" cost="1000" weight="100"><cover>papperback</cover><cover>hardcover</cover></book>
<book name="avgbook" cost="99" weight="120"></book>
</books>

帕珀精装书

作为python的新手,我希望有人能帮助我,所有有价值的输入都受到热烈欢迎。

好的,这不是一个很难的练习,但我会这样做。你有一本书,因此我的类将被称为
BookCollection
,它将采用XML文件的路径

现在,您需要的是以下方法:
解析
XML;
获取
一本书的方法,以及
设置
一本书的方法。因此,骨架类如下所示:

class BookCollection( object ):
    def __init__( self, xml_path ):
        """call the parse with the xml_path here"""
        self.bookList = []#This is a list of tuples

    def _parse( self, xml_path ):
        """This method is private and only parses the 
           xml and stores the books as tuples in a list"""

    def get( self, title ):
        """This method allows the user of this class to get 
           a book from the list of tuples"""

    def _set( self, title, cost, weight, cover=None ):
        """This method sets and adds a book tuple to the 
           list of book tuples"""
您不需要在python中将一本书表示为一个类,因为这会使整个代码(例如元组)变得过于复杂

我将不在骨架之外填充细节,以便您可以从那里了解其他内容

编辑:
由于您似乎还想输出XML,我将向上面的类添加一个
to_XML
方法,该方法将写出您的XML。如果您需要删除书籍,我也会添加相关的方法,但这由您自己来实现。

好的,这不是一个很难的练习,但我会这样做。您有一个因此,我的类将被称为
BookCollection
,它将采用XML文件的路径

现在,您需要的是以下方法:
解析
XML;
获取
一本书的方法,以及
设置
一本书的方法。因此,骨架类如下所示:

class BookCollection( object ):
    def __init__( self, xml_path ):
        """call the parse with the xml_path here"""
        self.bookList = []#This is a list of tuples

    def _parse( self, xml_path ):
        """This method is private and only parses the 
           xml and stores the books as tuples in a list"""

    def get( self, title ):
        """This method allows the user of this class to get 
           a book from the list of tuples"""

    def _set( self, title, cost, weight, cover=None ):
        """This method sets and adds a book tuple to the 
           list of book tuples"""
您不需要在python中将一本书表示为一个类,因为这会使整个代码(例如元组)变得过于复杂

我将不在骨架之外填充细节,以便您可以从那里了解其他内容

编辑:
由于您似乎还想输出XML,我将向上述类添加一个
to_XML
方法,该方法将写出您的XML。如果您需要删除书籍,我也会添加相关的方法,但这由您自己来实现。

您能澄清您的问题吗?您想将上述代码制作成Python类吗?我需要将xml视为类成员数据或常量值,通过它可以重用R8您的示例似乎在解析xml以创建外观相同的xml?这里没有非瞬态状态,因此该任务似乎适合于函数而不是类。您能提供一个更现实的示例来说明您想要的内容吗要做什么?你能澄清你的问题到底是什么吗?你想把上面的代码变成Python类吗?我需要将xml作为类成员数据或常量值,通过它可以重用R8你的示例似乎解析xml以创建外观相同的xml?那里没有非瞬态状态,因此该任务似乎是应用程序适用于函数而不是类。你能想出一个更现实的例子来说明你想要做什么吗?哇,肖恩,我在寻找这样的东西:)然后你还必须实现代码的这一部分。在我上面的课程中,我有一个元组列表,因此您必须将元组列表转换为表示的XML,然后您必须输出XML,无论您需要/想要输出。哇,Sean,我正在寻找这样的内容:)然后您还必须实现代码的这一部分。在我上面的课程中,我有一个元组列表,因此您必须将元组列表转换为表示的XML,然后您必须以您需要/想要的方式输出XML。