[英]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.