通用文章生成器
大家好!今天让创意岭的小编来大家介绍下关于通用文章生成器的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
本文目录:
word2003怎么生成目录啊,每次都会出现 错误!未找到目录项。是怎么回事?急!!!
下面根据我的实际经验介绍两种方法:第一种,直接插入法。这是最简单的方法。
如果你在写作文章的时候就应用了Word2003自动套用的格式,比如说我写上“前言”两个字,在“样式与格式”工具栏(别跟我说你不知道这个工具栏,就是你可以在里面选字体字号的那个)中打开最前面显示为“正文”的那个下拉框,在里面选择“标题”,则“前言”二字会自动居中并在前面显示一个黑点,这就为“前言”应用了“标题”样式。
按回车键会自动跳到下一行,现在下一行可能也会被自动应用了“标题”的样式(这视你的设置而定),如果要取消的话,请按前面的方法在“样式与格式”工具栏最前下拉框中选择“清除格式”。
同理,你也可以为文章的其他内容应用“标题1”、“标题2”的样式,或者是为某一节的几点应用编号格式,请自行尝试。
所有的格式都设置好之后,现在就可以自动生成目录啦。请把光标移至文章最前面(我们就要在这里生成文章的目录),在“插入”菜单中依次点“引用”、“索引和目录”就在当前光标处生成了一个目录。
说明:如果目录生成之后你又修改了某些章节的文字(例如把“前言”改成了“绪论”),目录中却还是“前言”,请在目录上点右键,选择“更新域”、“更新整个目录”,现在“前言”就更新为“绪论”了。
第二种,是最麻烦的,但也是最常遇到的。
因为我们大部分人都没有在写作过程中就应用各样式,比如说我们会为“前言”设置一个比较大的字号,再为它设置居中,使它看起来象是标题。我们会为我们的论述手动输入1、2、3的序号来取代Word为我们自动生成的1、2、3(说实话,Word自动生成的那些序号格式确实不怎么符合中国人的习惯,反正我是从不用自动生成序号的^_^)。
但在这种情况下,笨Word是不会把你设置的大号居中的“前言”二字认为是标题的。如果你也想自动生成目录的话,Word会固执的告诉你“没有找到目录项!”,哈哈!
现在提供一种补救的方法,就是自己逐一为各章节文字应用“标题”、“标题1”、“标题2”等样式,然后就可以自动生成目录啦。
还有一个问题,你想把每一章的字体设为黑体二号字的话,就不行了。Word默认的“标题”样式是宋体三号加粗。这时候我们应该添加自己的样式。现在我就以添加一个名称为“章”的样式为例来介绍一下方法,其他如“节”“条”的样式添加方法可依此法同理操作。
.点“格式”菜单,选“样式和格式”,在屏幕右中的位置会出现“样式和格式”设置栏,找到“新样式”那个按钮,点击之后会出现“新建格式”对话框,我简单介绍一下各项的意思:
“名称”,在这里为你的新样式取一个名,本例中输入“章”。
“样式类型”,这个不管它。
“样式基于”,这个一定要选,不选择它的话,Word是不会认识你新建的样式的,本例中可以选择“标题”
“后续段落样式”,这个也可以不管它。
下面就是为我们的新建样式“章”设置具体参数了,本例中设置为“黑体、二号、居中”,你可以根据自己的喜好设置其他参数。
“添加到模板”,就是否把这个样式保存在通用模板中,以便于编辑其他文件时也可以使用这个样式。
“自动更新”,这个一定要选上。如果以后领导又通知你要把每章的字号修改得大一点或是小一点,这时候你就会发现它的好处了。我们可以直接在右中的“样式和格式”设置栏的“章”样式上点右键“修改”,轻松地把“章”的字号按要求进行调整,完成之后,Word会自动把文章中应用了“章”样式的文字更新为调整后的样子。
如何使WORD自动生成目录的页码和正文的页码一样
1、生成页码:常规正文不包括封面和目录,因此在目录和正文之间设置分隔符,以便正文的第一页可以从第01页开始。
2、大纲级别:为每个标题分配一个自定义级别,分为第一级标题,第二级标题......,第二级标题是第一级标题的子标题,依此类推,一般目录最好不要超过三级标题。
3、级别设置:选择标题,右键单击段落 - 大纲级别选择,需要注意一定要设置所有标题。
4、自动目录插入:将光标放在目录页面的reference-insert目录中。
5、设置目录:在弹出目录设置对话框中,设置目录的基本信息,常规显示级别选择:3。完成后,单击“确定”。
6、目录链接:此时,您会发现目录已自动插入到单词中。单击任何详细信息并同时按ctrl键,您会发现鼠标自动更改为手形标记。
7、自动定位:点击任意标题,例如,点击第九篇文章,促进区域协调与发展。该目录显示为第24页,页面直接跳转到第24页的正文。完成单词目录页码和正文页码相同。
8、目录格式:通用目录的对齐方式是分散对齐,格式字体大小和间距,可根据纸张要求进行调整。
9、自动更新:如果更改了页码或更改了标题,则原始自动目录将不会无效。您只需右键单击并选择目录区域中的更新字段即可。将显示仅更新页码和更新整个目录的功能。
如何更好地理解Python迭代器和生成器
Python这门语言中,生成器毫无疑问是最有用的特性之一。与此同时,也是使用的最不广泛的Python特性之一。究其原因,主要是因为,在其他主流语言里面没有生成器的概念。正是由于生成器是一
个“新”的东西,所以,它一方面没有引起广大工程师的重视,另一方面,也增加了工程师的学习成本,
最终导致大家错过了Python中如此有用的一个特性。
我的这篇文章,希望通过简单易懂的方式,深入浅出地介绍Python的生成器,以改变“如此有用的特性却
使用极不广泛”的现象。本文的组织如下:在第1章,我们简单地介绍了Python中的迭代器协议;在本文
第2章,将会详细介绍生成器的概念和语法;在第3章,将会给出一个有用的例子,说明使用生成器的好
处;在本文最后,简单的讨论了使用生成器的注意事项。
1. 迭代器协议
由于生成器自动实现了迭代器协议,而迭代器协议对很多人来说,也是一个较为抽象的概念。所以,为了
更好的理解生成器,我们需要简单的回顾一下迭代器协议的概念。
1. 迭代器协议是指:对象需要提供next方法,它要么返回迭代中的下一项,要么就引起一个
StopIteration异常,以终止迭代
2. 可迭代对象就是:实现了迭代器协议的对象
3. 协议是一种约定,可迭代对象实现迭代器协议,Python的内置工具(如for循环,sum,min,max函
数等)使用迭代器协议访问对象。
举个例子:在所有语言中,我们都可以使用for循环来遍历数组,Python的list底层实现是一个数组,所
以,我们可以使用for循环来遍历list。如下所示:
>>> for n in [1, 2, 3, 4]:
... print n
但是,对Python稍微熟悉一点的朋友应该知道,Python的for循环不但可以用来遍历list,还可以用来遍历
文件对象,如下所示:
>>> with open(‘/etc/passwd’) as f: # 文件对象提供迭代器协议
... for line in f: # for循环使用迭代器协议访问文件
... print line
...
为什么在Python中,文件还可以使用for循环进行遍历呢?这是因为,在Python中,文件对象实现了迭代
器协议,for循环并不知道它遍历的是一个文件对象,它只管使用迭代器协议访问对象即可。正是由于
Python的文件对象实现了迭代器协议,我们才得以使用如此方便的方式访问文件,如下所示:
>>> f = open('/etc/passwd')
>>> dir(f)
['__class__', '__enter__', '__exit__', '__iter__', '__new__', 'writelines', '...'
2. 生成器
Python使用生成器对延迟操作提供了支持。所谓延迟操作,是指在需要的时候才产生结果,而不是立即产
生结果。这也是生成器的主要好处。
Python有两种不同的方式提供生成器:
2017/11/6 如何更好地理解Python迭代器和生成器? - 知乎
https://www.zhihu.com/question/20829330 2/5
1. 生成器函数:常规函数定义,但是,使用yield语句而不是return语句返回结果。yield语句一次返回一
个结果,在每个结果中间,挂起函数的状态,以便下次重它离开的地方继续执行
2. 生成器表达式:类似于列表推导,但是,生成器返回按需产生结果的一个对象,而不是一次构建一个
结果列表
2.1 生成器函数
我们来看一个例子,使用生成器返回自然数的平方(注意返回的是多个值):
def gensquares(N):
for i in range(N):
yield i ** 2
for item in gensquares(5):
print item,
使用普通函数:
def gensquares(N):
res = []
for i in range(N):
res.append(i*i)
return res
for item in gensquares(5):
print item,
可以看到,使用生成器函数代码量更少。
2.2 生成器表达式
使用列表推导,将会一次产生所有结果:
>>> squares = [x**2 for x in range(5)]
>>> squares
[0, 1, 4, 9, 16]
将列表推导的中括号,替换成圆括号,就是一个生成器表达式:
>>> squares = (x**2 for x in range(5))
>>> squares>>> next(squares)
0
>>> next(squares)
1
>>> next(squares)
4
>>> list(squares)
[9, 16]
Python不但使用迭代器协议,让for循环变得更加通用。大部分内置函数,也是使用迭代器协议访问对象
的。例如, sum函数是Python的内置函数,该函数使用迭代器协议访问对象,而生成器实现了迭代器协
2017/11/6 如何更好地理解Python迭代器和生成器? - 知乎
https://www.zhihu.com/question/20829330 3/5
议,所以,我们可以直接这样计算一系列值的和:
>>> sum(x ** 2 for x in xrange(4))
而不用多此一举的先构造一个列表:
>>> sum([x ** 2 for x in xrange(4)])
2.3 再看生成器
前面已经对生成器有了感性的认识,我们以生成器函数为例,再来深入探讨一下Python的生成器:
1. 语法上和函数类似:生成器函数和常规函数几乎是一样的。它们都是使用def语句进行定义,差别在
于,生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值
2. 自动实现迭代器协议:对于生成器,Python会自动实现迭代器协议,以便应用到迭代背景中(如for
循环,sum函数)。由于生成器自动实现了迭代器协议,所以,我们可以调用它的next方法,并且,
在没有值可以返回的时候,生成器自动产生StopIteration异常
3. 状态挂起:生成器使用yield语句返回一个值。yield语句挂起该生成器函数的状态,保留足够的信息,
以便之后从它离开的地方继续执行
3. 示例
我们再来看两个生成器的例子,以便大家更好的理解生成器的作用。
首先,生成器的好处是延迟计算,一次返回一个结果。也就是说,它不会一次生成所有的结果,这对于大
数据量处理,将会非常有用。
大家可以在自己电脑上试试下面两个表达式,并且观察内存占用情况。对于前一个表达式,我在自己的电
脑上进行测试,还没有看到最终结果电脑就已经卡死,对于后一个表达式,几乎没有什么内存占用。
sum([i for i in xrange(10000000000)])
sum(i for i in xrange(10000000000))
除了延迟计算,生成器还能有效提高代码可读性。例如,现在有一个需求,求一段文字中,每个单词出现
的位置。
不使用生成器的情况:
def index_words(text):
result = []
if text:
result.append(0)
for index, letter in enumerate(text, 1):
if letter == ' ':
result.append(index)
return result
使用生成器的情况:
2017/11/6 如何更好地理解Python迭代器和生成器? - 知乎
https://www.zhihu.com/question/20829330 4/5
def index_words(text):
if text:
yield 0
for index, letter in enumerate(text, 1):
if letter == ' ':
yield index
这里,至少有两个充分的理由说明 ,使用生成器比不使用生成器代码更加清晰:
1. 使用生成器以后,代码行数更少。大家要记住,如果想把代码写的Pythonic,在保证代码可读性的前
提下,代码行数越少越好
2. 不使用生成器的时候,对于每次结果,我们首先看到的是result.append(index),其次,才是index。
也就是说,我们每次看到的是一个列表的append操作,只是append的是我们想要的结果。使用生成
器的时候,直接yield index,少了列表append操作的干扰,我们一眼就能够看出,代码是要返回
index。
这个例子充分说明了,合理使用生成器,能够有效提高代码可读性。只要大家完全接受了生成器的概念,
理解了yield语句和return语句一样,也是返回一个值。那么,就能够理解为什么使用生成器比不使用生成
器要好,能够理解使用生成器真的可以让代码变得清晰易懂。
4. 使用生成器的注意事项
相信通过这篇文章,大家已经能够理解生成器的作用和好处。但是,还没有结束,使用生成器,也有一点
注意事项。
我们直接来看例子,假设文件中保存了每个省份的人口总数,现在,需要求每个省份的人口占全国总人口
的比例。显然,我们需要先求出全国的总人口,然后在遍历每个省份的人口,用每个省的人口数除以总人
口数,就得到了每个省份的人口占全国人口的比例。
如下所示:
def get_province_population(filename):
with open(filename) as f:
for line in f:
yield int(line)
gen = get_province_population('data.txt')
all_population = sum(gen)
#print all_population
for population in gen:
print population / all_population
执行上面这段代码,将不会有任何输出,这是因为,生成器只能遍历一次。在我们执行sum语句的时候,
就遍历了我们的生成器,当我们再次遍历我们的生成器的时候,将不会有任何记录。所以,上面的代码不
会有任何输出。
因此,生成器的唯一注意事项就是:生成器只能遍历一次。
5. 总结
2017/11/6 如何更好地理解Python迭代器和生成器? - 知乎
https://www.zhihu.com/question/20829330 5/5
本文深入浅出地介绍了Python中,一个容易被大家忽略的重要特性,即Python的生成器。为了讲解生成
器,本文先介绍了迭代器协议,然后介绍了生成器函数和生成器表达式,并通过示例演示了生成器的优点
和注意事项。在实际工作中,充分利用Python生成器,不但能够减少内存使用,还能够提高代码可读性。
掌握生成器也是Python高手的标配。希望本文能够帮助大家理解Python的生成器
以上就是关于通用文章生成器相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读:
销售年终工作总结个人通用版(销售年终工作总结个人通用版怎么写)
杭州四季青服装批发用哪个app(杭州四季青服装批发市场软件)