Python基础_即时标记及其相关的语法

这篇Python基础教程探讨了即时标记的概念及其在创建HTML文件中的应用。通过简单和复杂的方式展示了如何将文本文件转化为HTML,涉及解析、规则定义、处理器类以及正则表达式的使用。此外,文章还介绍了生成器`yield`的关键作用,并通过实例说明其作为迭代器的工作原理。
摘要由CSDN通过智能技术生成

Python基础教程中‘即时标记’案例的应用


一、‘即时标记’的应用

所谓‘即时标记’,就是根据已知的文本文件,得到html文件(本案例)

简单的方式:

1、对文本文件进行解析,再对此内容进行迭代输出;

2、对以空格为基础,对内容进行html相应标签的输出,从而得到html文件。

复杂的方式:(带有重构代码性)

1、对html中的规则进行界定;(如标题、格式、段落等相应标签的规定;)为handler类(处理器,以此为基础);为handler.py;

2、文本文件;(对文本文件进行迭代处理)为util.py;

3、根据html中的具体应用,规则方法进行调用,(本文利用方法名称的通用型,以继承方法实现该方法的调用);为rule.py中

4、对文本文件进行规则与过滤器(正则式)的限定和解释,转换为html文件。


二、结构图思想

handler:htm的底层规则;

Rules:titleRules、headRules、paraRules等;(调用handler)

util:解析文本文件;

makeup:根据util内容,以Rules规则得到的相应html格式,进行内容输出。


(源码路径为:链接: http://pan.baidu.com/s/1sj04P1V 密码: ypbz)


三、相关的属性及方法解释

yield:生成器,目的用于迭代。

例1:

def g(n):
    for i in range(n):
        yield i**2
for i in g(3):
    print i,":",

t=g(3)
print t
print t.next()
print t.next()
print t.next()

输出:0,1,4::

例2:

def fab(max):    
    a,b=0,1
    while a<max:
        yield a
        a,b=b,a+b
for i in fab(3):
    print i,",",

yield类似于迭代器,原理上是通过next()访问的。

理解:通过参数获取到的值,以列表形式一次返回。

与List形式对比:

例3:

deffab( max ):
    n, a, b = 0 , 0 , 1
    L = []
    whilen < max :
        L.append(b)
        a, b = b, a + b
        n = n + 1
    returnL
通过List访问会造成占用的内存随着max的增大而增大,为了控制内存占用,最好不要用List.






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值