Trying to print Book object's details from method getBookDetails. The output I want is "Ready Player One", "Cline, Ernest", 2011, but get message saying "<bound method Book.getBookDetails of <main.Book object at 0x105b54d00>>"
class Book():
def __init__(self, title = "", author = "", year = None):
self.title = title
self.author = author
self.year = year
def getTitle(self):
return self.title
def getAuthor(self):
return self.author
def getYear(self):
return self.year
def getBookDetails(self):
string = ("Title: {}, Author: {}, Year: {}"\
.format(self.title, self.author, self.year))
return string
b = Book("Ready Player One", "Cline, Ernest", 2011)
print(b.getBookDetails)
CodePudding user response:
Missing parenthesis
- To call a function you must have
()
parenthesis at the end.
class Book():
def __init__(self, title = "", author = "", year = None):
self.title = title
self.author = author
self.year = year
def getTitle(self):
return self.title
def getAuthor(self):
return self.author
def getYear(self):
return self.year
def getBookDetails(self):
string = ("Title: {}, Author: {}, Year: {}"\
.format(self.title, self.author, self.year))
return string
b = Book("Ready Player One", "Cline, Ernest", 2011)
print(b.getBookDetails())
Outputs:-
>>> print(b.getBookDetails)
<bound method Book.getBookDetails of <__main__.Book object at 0x0000015E9B6F8130>>
>>> print(b.getBookDetails())
Title: Ready Player One, Author: Cline, Ernest, Year: 2011