python提示object() takes no parameters

先来看下源代码:

#coding=gbk

class Restaurant():
        def _init_(self,restaurant_name,cuisine_type):
            self.restaurant_name = restaurant_name
            self.cuisine_type = cuisine_type
            
        def describe_restaurant(self):
            print('name='+self.restaurant_name+' cuisine_type='+self.cuisine_type)
    
        def describe_restaurantstatus(self):
            print('restaurant is opening')
my_restaurant = Restaurant('川菜馆','北京菜')
print(my_restaurant.describe_restaurant())
 

乍一看没有什么问题,类是Restaurant,大小写也都有,初始化方法也有, 最后调用的Restaurant创建实例也有参数,

就是提示“object() takes no parameters”,意思是实例方法没有参数,默认是调用无参数的方法,但是我们有参数啊?

咋解决?其实代码没有问题,唯一一个问题是,"_init_" 的前面和后面 应该各是两个横线"__",不是一个"_",是这样:

"__init__",这个错误不太好找,建议大家记住了,以后写的时候千万要注意!不然这个错误很难找到!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值