我有一个python文件,其中包含h1
和img
以及strong
等函数,用于设置文本的样式。这些功能的定义如下:
def _wrapTag(tag, text, **attributes):
out = _createTag(tag, **attributes)
out += text
out += "</" + tag + ">"
return out
def _createTag(tag, **attributes):
out = "<" + tag
if attributes:
for attr, value in attributes:
out += " " + attr + "=\"" + value + "\""
out += ">"
return out
def h2(text, **attributes):
return _wrapTag("h2", text, **attributes)
在理想情况下,要用类创建一个
div
,我将调用modal
,但是div(content, class="modal")
是一个受限关键字。有没有什么方法可以绕过这一点而不向class
添加特殊情况? 最佳答案
PEP 8处理的标准方法,即添加尾随下划线:
单尾随下划线:按惯例用于避免与Python关键字冲突,例如。Tkinter.Toplevel(master, class_='ClassName')
这是一个常见的解决办法,不会让任何人感到惊讶。你可以在你的代码中实现它,比如:
def _createTag(tag, **attributes):
out = "<" + tag
if attributes:
for attr, value in attributes.items():
out += " " + attr.rstrip('_') + "=\"" + value + "\""
out += ">"
return out
以便它自动从任何和所有属性中删除额外的下划线。然后你可以打电话给:
>>> h2('contents', class_='myh2tag', id_='contenttag')
'<h2 class="myh2tag" id="contenttag">contents</h2>'
并解决两个单独的Python名称空间冲突,而不将它们作为特例处理。
关于python - 允许在方法签名中使用 token “类”作为命名参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13406107/