How to print instances of a class using print()?

前端 未结 9 1620
南方客
南方客 2020-11-21 07:27

I am learning the ropes in Python. When I try to print an object of class Foobar using the print() function, I ge

9条回答
  •  暖寄归人
    2020-11-21 07:51

    There are already a lot of answers in this thread but none of them particularly helped me, I had to work it out myself, so I hope this one is a little more informative.

    You just have to make sure you have parentheses at the end of your class, e.g:

    print(class())
    

    Here's an example of code from a project I was working on:

    class Element:
        def __init__(self, name, symbol, number):
            self.name = name
            self.symbol = symbol
            self.number = number
        def __str__(self):
            return "{}: {}\nAtomic Number: {}\n".format(self.name, self.symbol, self.number
    
    class Hydrogen(Element):
        def __init__(self):
            super().__init__(name = "Hydrogen", symbol = "H", number = "1")
    

    To print my Hydrogen class, I used the following:

    print(Hydrogen())
    

    Please note, this will not work without the parentheses at the end of Hydrogen. They are necessary.

    Hope this helps, let me know if you have anymore questions.

提交回复
热议问题