我想使用一个必需的_arg除了*args,**kwarg在一个来自另一个类的类中。但目前我没有成功!!! 这段代码:
class PageNumCanvas(canvas.Canvas):
"For add \"page number of total\" in each footer."
def __init__(self, page1, *args, **kwargs):
"Constructor."
self.page1 = page1 - 1
canvas.Canvas.__init__(self, *args, **kwargs)
self.pages = []
执行此操作时的错误消息:canvasmaker = PageNumCanvas(1)
:
如何使用page1
参数调用PageNumCanvas类?在
更新1:
如果我不在类的init中使用参数,我就没有问题了。例如:
>>> from reportlab.pdfgen import canvas
>>> class PageNumCanvas(canvas.Canvas):
... "For add \"page number of total\" in each footer."
... def __init__(self, *args, **kwargs):
... canvas.Canvas.__init__(self, *args, **kwargs)
... self.pages = []
...
>>> canvasmaker = PageNumCanvas(1)
>>> canvasmaker
<__main__.PageNumCanvas instance at 0x7f618195df38>
>>>
更新2: 多亏了goncalopp让路,正确的代码是:
class PageNumCanvas(canvas.Canvas):
... "For add \"page number of total\" in each footer."
... def __init__(self, page1, *args, **kwargs):
... "Constructor."
... canvas.Canvas.__init__(self, page1, *args, **kwargs)
... self.page1 = page1 - 1
... self.pages = []
... print self.page1
...
>>> canvasmaker = PageNumCanvas(12)
11
>>>
你可能在找
{1}你需要提供一个{1}的例子。在
您的第二个版本没有给您错误的原因是您仍然在传递
1
,因为您删除了page1
参数,所以它被传递给了Canvas
构造函数。在要使其正常工作,只需输入名称和页码:
输出
^{pr2}$相关问题 更多 >
编程相关推荐