最近在研究Python,随便找了本书算是入门开始,《Python编程:从入门到实践》。
练习章节实例代码的时候总是提示出错:
TypeError: object() takes no parameters
代码如下:
class Restaurant():
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print(self.restaurant_name + '\n')
print(self.cuisine_type + '\n')
def open_restaurant(self):
print(self.restaurant_name + ' is opening.\n')
restaurant1 = Restaurant('PizzaHut','KFC')
restaurant1.describe_restaurant()
restaurant1.open_restaurant()’
反复核对了许多遍,简直不可能出错啊(我直接copy过来的)。
无疑中发现了问题,我艹。
原来是定义类中方法时下划线的问题:
__init__(self,restaurant_name,cuisine_type)
这个方法名称init左右下划线都是2个,而我只用了1个,就这么个事。
网友评论