Published: 11 Aug 2018 › Updated: 11 Aug 2018
PyH源码解析(4)
增加兄弟Tag对象
这个实际上就是Tag对象的序列,如下所示:
>>> a=div('a1')+div('a2')+div('a3')
>>> print(a)
<div>
a1
</div>
<div>
a2
</div>
<div>
a3
</div>
其实现原理就是重载了+操作符,上面例子中的返回对象a是一个特殊的Tag对象,它没有tagname,它的isSeq属性为True,表示它容纳了一个Tag的序列。
为Tag对象追加内容和子对象
这里使用了<<符号,如下示例:
>>> a=div()
>>> a<<'test'
>>> a<<div(id='abc')
>>> print(a)
<div>
test
<div id="abc">
</div>
</div>
其实现原理很简单,就是直接调用self.addObj()即可。只不过需要注意的是,其返回对象是其子Tag对象,以便<<可以连续使用。另外需要注意的是,如果追加的tag是一个序列Tag对象,则把它展开,每一个成员作为子Tag追加。
Leave PyH源码解析(4) to:
Read more #cn posts
Best Posts From brysj22952
We have not curated any of brysj22952's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From brysj22952
- 我为什么想自己实现语法解析器
- PyH源码解析(6)——完结篇
- PyH源码解析(5)
- PyH源码解析(4)
- PyH源码解析(3)
- PyH源码解析(2)
- PyH源码解析(1)
- Python语言PyH模块生成HTML文档使用说明
- linux屏蔽ctrl+s键的方法
- LXML官方文档翻译
- 使用Flask和React构建博客系统(1)
- 解决网站开发中网页在手机上显示不全的问题
- 2018.6.25 My microblog 微博
- MyBrain项目(1)
- 2018.3.20 My microblog 微博
- click的命令自动补齐功能介绍
- python命令行神器click介绍
- Linux find命令使用心得(Linux find cmd use experience)
- Piston工具翻译-Steem网络的瑞士军刀(2)
- Piston工具翻译-Steem网络的瑞士军刀(1)