繁体   English   中英

初学者的python类构造函数不带参数

[英]beginner's python class constructor takes no argumens

我只是在学习python,似乎犯了一个小错误。 有了这段代码,对Patterns的构造函数的使用就会出错。

“ cit_ref = Patterns(patstring,3)TypeError:此构造函数不接受任何参数”

import re

class Patterns:
    """A simple struct to hold our regex """
def __init__(self, pat, bodynumArg=2):
    self.pat = pat
    self.bodynum = bodynumArg
    self.reg = re.compile(self.pat, re.M+re.S)

patstring = r'<((us-)?references-cited)>(.*?)</\1>'
cit_ref = Patterns( patstring, 3)

您只需要缩进__init__函数,使其在class Patterns下即可。 像这样:

import re

class Patterns:
    """A simple struct to hold our regex """
    def __init__(self, pat, bodynumArg=2):
        self.pat = pat
        self.bodynum = bodynumArg
        self.reg = re.compile(self.pat, re.M+re.S)

patstring = r'<((us-)?references-cited)>(.*?)</\1>'
cit_ref = Patterns( patstring, 3)

在Python中,缩进与其他语言中的方括号/花括号基本上具有相同的作用-它们分隔代码,因此您必须谨慎使用缩进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM