__init__() takes 0 positional arguments but 1 was given

今天写爬虫的时候,写了一个自定义的类,在写初始化函数def init():出现了以下问题:
在这里插入图片描述
仔细查阅文档,发现原来Python3中的def__init__()函数与之前相比发生了些许变化,是需要带有一定参数的。
1.def init(self):
这种形式在__init__方法中,只有一个self,指的是实例的本身,但是在方法的类部,包含两个属性:name、year。它允许定义一个空的结构,当新数据来时,可以直接添加。实例化时,需要实例化之后,再进行赋值。
比如:

def __init__():
     #初始化起始页位置
     self.pn=0
     #爬取开关
     self.switch=True

2.def init(self, 参数1,参数2,···,参数n):

 class Student_Grade: 
    def __init__(self, name, grade):  
        self.name = name
        self.grade = grade

    def print_grade(self):
        print("%s grade is %s" % (self.name,self.grade))

s1 = Student("Tom", 8)  # 创建对象s1,实例化直接传入参数
s2 = Student("Jerry", 7)  # 创建对象s2

s1.print_grade()
s2.print_grade()

关注欢喜,一起进步呀~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值