class Tag(PageElement):
def _invert(self, h):
"Cheap function to invert a hash."
i = {}
for k,v in h.items():
i[v] = k
return i
XML_ENTITIES_TO_SPECIAL_CHARS = { "apos" : "'",
"quot" : '"',
"amp" : "&",
"lt" : "<",
"gt" : ">" }
XML_SPECIAL_CHARS_TO_ENTITIES = _invert(XML_ENTITIES_TO_SPECIAL_CHARS)
提示错误:
XML_SPECIAL_CHARS_TO_ENTITIES = _invert(XML_ENTITIES_TO_SPECIAL_CHARS)
TypeError: _invert() takes exactly 2 arguments (1 given)
应该怎么改啊?
Python内部函数调用参数问题
答案:3 悬赏:20 手机版
解决时间 2021-03-17 17:44
- 提问者网友:轻浮
- 2021-03-17 07:14
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-03-17 08:06
要把变量初始化放到__init__里面
def __init__(self):
self.XML_SPECIAL_CHARS_TO_ENTITIES=self._invert(self.XML_ENTITIES_TO_SPECIAL_CHARS)
def __init__(self):
self.XML_SPECIAL_CHARS_TO_ENTITIES=self._invert(self.XML_ENTITIES_TO_SPECIAL_CHARS)
全部回答
- 1楼网友:往事隔山水
- 2021-03-17 09:50
分析如下:
1. 首先调用deco函数,打印三条语句,就是前三条
2. 因为deco函数有返回值,返回的是你传递的参数,也就是myfunc的引用。
3. 第10行的myfunc为你deco函数的返回值,也就是myfunc
4. 第11行调用的myfunc(),其实调用的是deco返回值的函数,也就是你传递的函数的引用。
如有不明白的地方,请继续追问!
- 2楼网友:北城痞子
- 2021-03-17 08:31
def _invert(self, h):
XML_SPECIAL_CHARS_TO_ENTITIES = _invert(XML_ENTITIES_TO_SPECIAL_CHARS,XML_ENTITIES_TO_SPECIAL_CHARS)
你把def _invert(self, h)里面的self去掉试试
错误说的很清楚,你只给了一个值给自定义函数,就是这个错了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯