我们最开始学习写代码的时候,程序都是运行在终端里的,输入使用input()或者scanf(),输出使用print之类的函数进行交互。相信每个人对这种方式都非常的熟悉。
而到了Web应用编程,就会发现,Web应用需要我们编写更多的代码来实现相同的功能,这体现在:
- Web应用需要编写额外的前端代码来实现界面。
- 由于Http协议的无状态性,Web应用需要在各个后端接口之间转递状态(比如通过session机制或前端的机制)。
- Web应用在单次HTTP请求中,无法实现实时输出,所以一些耗时操作通常需要离线完成,而前端需要定时轮询来实现“伪实时”。
对于没有接触过Web开发的同学,听不懂上面关于Web的内容没关系,因为在今天要介绍的这个Python库中完全不需要理会这些就可以编写Web应用。
今天要介绍的就是PyWebIO,它允许你像编写终端脚本一样来编写Web应用或基于浏览器的GUI应用,无需具备HTML和JS的相关知识。PyWebIO提供了一系列命令式的交互函数来在浏览器上获取用户输入和进行输出,相当于将浏览器变成了一个“富文本终端”。并且相比于终端程序,PyWebIO又提供了布局、事件绑定等特性,让应用编写更加方便。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:883888997
PyWebIO的使用
安装
pip3 install -U pywebio
Hello, world
这是一个使用PyWebIO计算 BMI指数 的应用:
from pywebio.input import input, FLOAT
from pywebio.output import put_text
def bmi(height, weight): # 计算BMI
bmi_value = weight / (height / 100) ** 2
top_status = [(14.9, '极瘦'), (18.4, '偏瘦'),
(22.9, '正常'), (27.5, '过重'),
(40.0, '肥胖'), (float('inf'), '非常肥胖')]