内容摘要:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • Handout使用教程
  • 在pyhon直接使用Markdown
  • 把讲义导出为html网页

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

我想要使用Python代码直接排版,怎样才能做到?

  • 我只喜欢用python,也只想使用python。我想用python就可以直接排版。
  • 还要可以在任何文本编辑器里,方便地转换成标题、代码、文本等各种样式。
  • 最好还能直接运行Python代码,并且展示运行的结果。

Google Brain的研究员Danijar Hafner发布Python Handout这一Python模块包, 几乎完美地实现了我的以上诉求。

Python Handout借助和Markdown一样的代码命令,让Python代码可以直接转换为讲义的样式。

使用Python Handout的大致流程如下:

  1. handout 作为正常 Python 程序内的库导入
  2. 编写python代码和运行python脚本
  3. 在浏览器中打开保存的网页文件以查看结果。
  4. 修改文件后,刷新浏览器以查看新的导出结果。

首先,你需要安装Python Handout 模块。

安装命令:

pip3 install -U handout

安装完成后,就可以在python中,愉快地使用Handout进行排版了。

你可以在python中,控制文档的显示。比如,你可以创建粗体的文字,斜体的文字,添加图片,并且创建列表 等等。 基本上来讲,排版的方式就是在普通的文字基础上,加上 # 或者 * 等符号。

导入相关的模块!

import handout
import matplotlib.pyplot as plt
import numpy as np

设置保存的网页的文件目录

  • 如果不填写详细的目录路径,则默认为当前的py文件目录。
  • 如果目录不存在,则会自动创建。
doc = handout.Handout('输出目录/示例')

Markdown的格式说明

带有三个引号的注释将转换为文本块。注意:必须为英文状态下的双引号,单引号无效。文本块支持Markdown格式,例如:

  • 标题
  • 超链接
  • 粗体斜体
  • 数学公式:f(x)=x2f(x)=x2
  • 超链接

超链接设置方法:

# [超链接][1]
# 第1个[ ]里面填写超链接的文本,例如标题或说明。
# 第2个[ ]里面填写超链接的序号。
# 然后写下超链接的地址,格式如下:[1]: https://commonmark.org/help/

注意,以上的超链接的具体地址不会在转换后的讲义中显示, 但是单击超链接的文本,将打开网页链接。

添加文本和变量

使用与Python的print()相同的方式输出文本:

for index in range(3):doc.add_text(f'循环3次,现在是第{index+1}次。')
doc.show()
效果和print()是一样的。输出如下所示:
循环3次,现在是第1次。
循环3次,现在是第2次。
循环3次,现在是第3次。

添加 Matplotlib 图像

在handout展示matplotlib的绘图结果:

fig, ax = plt.subplots(figsize=(4, 3))
ax.plot(np.arange(100))
fig.tight_layout()
doc.add_figure(fig)
doc.show()  # 在此行代码下面展示绘图结果

设置输出的图像的宽度以并排显示多个图形:

for iteration in range(3):fig, ax = plt.subplots(figsize=(3, 2))ax.plot(np.sin(np.linspace(0, 20 / (iteration + 1), 100)))doc.add_figure(fig, width=0.33)
doc.show()

添加图像和视频

这个功能需要安装 imageio 模块

image_a = np.random.uniform(0, 255, (200, 400, 3)).astype(np.uint8)
image_b = np.random.uniform(0, 255, (100, 200, 1)).astype(np.uint8)
doc.add_image(image_a, 'png', width=0.4)
doc.add_image(image_b, 'jpg', width=0.4)
doc.show()

video = np.random.uniform(0, 255, (100, 64, 128, 3)).astype(np.uint8)
doc.add_video(video, 'gif', fps=30, width=0.4)
doc.add_video(video, 'mp4', fps=30, width=0.4)
doc.show()

隐藏代码

隐藏单行代码不予展示

在代码后面添加:# handout: exclude 即可隐藏掉代码。

# 下面一行代码,不会被展示出来:
# value = 13  # handout: exclude 这行代码被隐藏掉了。

隐藏多行代码不予展示

开始处,使用语句: # handout: begin-exclude

结束处,使用语句: # # handout: end-exclude

查看讲义

当你运行'doc.show()'时,讲义将会自动保存。

使用浏览器打开文件夹'输出目录/示例'里面的 index.html 文件,即可查看转换后的讲义。

当python文件作了修改,并且重新运行后,只需在浏览器里刷新一下,即可查看修改后的导出内容。

附完整代码:

"""
# Python版本的Markdown工具:Handout使用教程!
# 用Python代码直接排版!我想要使用Python代码直接排版,怎样才能做到?- 我只喜欢用python,也只想使用python。我想用python就可以直接排版。
- 还要可以在任何文本编辑器里,方便地转换成标题、代码、文本等各种样式。
- 最好还能直接运行Python代码,并且展示运行的结果。Google Brain的研究员Danijar Hafner发布Python Handout这一Python模块包,
几乎完美地实现了我的以上诉求。Python Handout借助和Markdown一样的代码命令,让Python代码可以直接转换为讲义的样式。使用Python Handout的大致流程如下:
1. handout 作为正常 Python 程序内的库导入
2. 编写python代码和运行python脚本
3. 在浏览器中打开保存的网页文件以查看结果。
4. 修改文件后,刷新浏览器以查看新的导出结果。## 首先,你需要安装Python Handout 模块。
安装命令: pip3 install -U handout安装完成后,就可以在python中,愉快地使用Handout进行排版了。你可以在python中,控制文档的显示。比如,你可以创建粗体的文字,斜体的文字,添加图片,并且创建列表 等等。
基本上来讲,排版的方式就是在普通的文字基础上,加上 # 或者 * 等符号。导入相关的模块!
"""import handout
import matplotlib.pyplot as plt
import numpy as np"""设置保存的网页的文件目录
- 如果不填写详细的目录路径,则默认为当前的py文件目录。
- 如果目录不存在,则会自动创建。
"""doc = handout.Handout('Python教程/Handout教程')"""
## Markdown的格式说明
带有三个引号的注释将转换为文本块。
文本块支持[Markdown格式][1],例如:- 标题
- 超链接
- **粗体**和*斜体*
- 数学公式:$f(x)=x^2$
- 超链接[1]: https://commonmark.org/help/### 超链接设置方法:
"""# [超链接][1]
# 第1个[ ]里面填写超链接的文本,例如标题或说明。
# 第2个[ ]里面填写超链接的序号。
# 然后写下超链接的地址,格式如下:[1]: https://commonmark.org/help/"""
注意,以上的超链接的具体地址不会在转换后的讲义中显示,
但是单击超链接的文本,将打开网页链接。
""""""
## 添加文本和变量
使用与Python的print()相同的方式输出文本:
"""for index in range(3):doc.add_text(f'循环3次,现在是第{index + 1}次。')
doc.show()"""
效果和print()是一样的。输出如下:
"""
"""
## 添加 Matplotlib 图像
在handout展示matplotlib的绘图结果:
"""
fig, ax = plt.subplots(figsize=(4, 3))
ax.plot(np.arange(100))
fig.tight_layout()
doc.add_figure(fig)
doc.show()  # 在此行代码下面展示绘图结果"""
设置输出的图像的宽度以并排显示多个图形:
"""for iteration in range(3):fig, ax = plt.subplots(figsize=(3, 2))ax.plot(np.sin(np.linspace(0, 20 / (iteration + 1), 100)))doc.add_figure(fig, width=0.33)
doc.show()"""
## 添加图像和视频
这个功能需要安装 imageio 模块
"""
image_a = np.random.uniform(0, 255, (200, 400, 3)).astype(np.uint8)
image_b = np.random.uniform(0, 255, (100, 200, 1)).astype(np.uint8)
doc.add_image(image_a, 'png', width=0.4)
doc.add_image(image_b, 'jpg', width=0.4)
doc.show()
video = np.random.uniform(0, 255, (100, 64, 128, 3)).astype(np.uint8)
doc.add_video(video, 'gif', fps=30, width=0.4)
doc.add_video(video, 'mp4', fps=30, width=0.4)
doc.show()"""
## 隐藏代码
隐藏单行代码不予展示在代码后面添加:# handout: exclude 即可隐藏掉代码。
"""# 下面一行代码,不会被展示出来:
# value = 13  # handout: exclude 这行代码被隐藏掉了。
value = 13  # handout: exclude"""
隐藏多行代码不予展示开始处,使用语句: # handout: begin-exclude结束处,使用语句: # # handout: end-exclude""""""
## 查看讲义
当你运行'doc.show()'时,讲义将会自动保存。使用浏览器打开文件夹'输出目录/示例'里面的 index.html 文件,即可查看转换后的讲义。当python文件作了修改,并且重新运行后,只需在浏览器里刷新一下,即可查看修改后的导出内容。(完)
"""

(完)

Python版本的Markdown工具:Handout使用教程!用Python代码直接排版!相关推荐

  1. 怎么查看电脑有没有python_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...

    本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...

  2. 爬虫python对电脑要求_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...

    本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...

  3. python的主流开发工具排名,最常用的python开发工具

    有哪些值得推荐的 Python 开发工具? 第一款:最强终端 Upterm它是一个全平台的终端,可以说是终端里的IDE,有着强大的自动补全功能,之前的名字叫做:BlackWindow. 有人跟他说这个 ...

  4. 同一个电脑可安装多个python版本吗_Linux下如何安装多个Python版本

    原标题:Linux下如何安装多个Python版本 导读服务器上的Python版本太老了,需要安装一个新的Python版本,才能跑我的代码.因为环境的需要,但是又不能卸载老的版本,所以安装一个新的,使用 ...

  5. python最强脚本工具_8种常用的Python工具

    Python是一种开源的编程语言,可用于Web编程.数据科学.人工智能以及许多科学应用.学习Python可以让程序员专注于解决问题,而不是语法.由于Python相对较小,且拥有各式各样的工具,因此比J ...

  6. python自动发微信天气预报_【教程】Python微信定时自动给女朋友发送天气预报

    原标题:[教程]Python微信定时自动给女朋友发送天气预报 先上效果图 主要思路 1.从wxpy获取好友列表 2.创建定时器 3.定时器触发函数 4.函数执行,遍历好友列表 5.好友对象执行带参函数 ...

  7. python 功能化模块_【软件测试教程】Python模块化以及内置模块的使用

    一:什么是模块 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能. 二:模块类型 1:自定义模块 由编程人员自己写的模块.自定义模块时要 ...

  8. python版本越高越好吗-5个Python特性 越早知道越好的

    Python Python开发 Python语言 5个Python特性 越早知道越好的 Kirill Sharkovski 发布在 Unsplash 杂志上的照片 AI开发者按,Python 是近十年 ...

  9. 以下哪个不是python财经数据接口工具_这7种Python的全新玩法,大部分人都不知道!...

    Python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫.数据处理.可视化.机器学习.神经网络.股票财经.游戏这7个方面,主要内容如下: 创一个小群,供大家学习交流聊天 如果有对 ...

最新文章

  1. VC中按钮控件的启用(enable)和禁用(disable)
  2. 设计模式学习(三)——单例模式
  3. JSP语法(JSP动作)
  4. binary.Write 小坑一个兼论go的错误处理哲学
  5. Prototype使用$F()函数
  6. Mac启动Apache之后访问localhost提示403 Forbidden
  7. HTML5开发手机项目—个人总结
  8. Hyperledger Fabric 开发环境安装
  9. 飞书信外贸移动社交自建站系统玩转海外拼团分销
  10. Dlang如何禁用垃圾回收(GC)
  11. JavaScript 中 == 和 === 的区别
  12. 涨知识--地球自转会影响飞机飞行时间吗?
  13. 修改andriod模拟器的IMEI,IMSI,手机号,SIM卡号
  14. 【App自动化测试】(八)三种等待方式——强制等待、隐式等待、显示等待
  15. Feature Tools:自动特征工程(翻译)
  16. 电容在微分、积分电路中的本质以及应用
  17. 富文本编辑器 Kindeditor 的使用和 常见错误
  18. Systrace分析基础知识
  19. 机构称谷歌新闻业务2018收入47亿美元 谷歌:计算方法有误
  20. 工作总结与述职报告ppt模板

热门文章

  1. 华为和荣耀哪个好?看当代大学生怎么选
  2. C++QT开发——多线程
  3. errno错误码含义及使用
  4. java对象横转纵_文件的横纵转换
  5. vue使用原生video标签播放视频
  6. Flink 第2章 状态及Checkpoint调优
  7. 慢特征分析(SFA)
  8. ubuntu16.04 系统安装后关机不关电源的问题, 显示System halted
  9. 远控免杀从入门到实践(1):基础篇
  10. Java中的定时器以及自己实现定时器