python最近又在搞大事情,就在最近,github上突然多了一个神奇的项目
git地址:https://github.com/pyscript/pyscript
并且最近一直在更新。一看这个名字就让我们不禁想起JavaScript,再去官网一看
pyscript官网:https://pyscript.net/
这家伙不仅模仿了JavaScript的名字,甚至连身子都想要取而代之!
官方对pyscript的期望是可以在浏览器上直接运行python。
|...| print('Now you can!') ||
怀着一颗好奇心,我们把github上的代码克隆下来,发现是一个基于node的前端项目,那第一步先把他跑起来!
进入\pyscript-main\pyscriptjs目录下,
- 首先安装依赖 cnpm i
- 然后先在本地运行 npm run dev
- 打开 http://localhost:8080/
首页是一个纯纯的html文件,在\pyscript-main\pyscriptjs\examples目录下的index.html,如下图:
文章图片
【python|python又搞事情,想一统天下】
我们先来看看最简单的Hello world页面,如下图:
文章图片
页面确实够简单,再看看它的代码:
Hello world!
This is the current date and time, as computed by Python:from datetime import datetime
now = datetime.now()
now.strftime("%m/%d/%Y, %H:%M:%S")
想必大家都可以看得懂这段代码,精彩的点在于,只要在标签中,就可以直接使用python语法来进行操作了,并且似乎比JavaScript还要直接嗷,甚至还有点数据绑定的意思。
再来看看另一个经典的例子,todo_list,对应todo.html,如下图:
文章图片
再看代码:
...
...To Do List
在代码最上面竟然引入了一个.py文件,代码中使用pys-onClick绑定了add_task方法,而add_task方法在引入的todo.py中进行了声明:
def add_task(*ags, **kws):
...
也就是说,pyscript真的可以做到和JavaScript在浏览器中运行时一样的调用体验,甚至还可以在浏览器中引用python类库!
在另一个todo_pylist.html页面中,提供了直接在浏览器中运行python命令的方法,
文章图片
为了显示自己在处理复杂图形方面的能力,示例中还提供了和three.js结合而成的webgl示例页面:
文章图片
和一些图表页面:
文章图片
可以看到,在功能实现上,pyscript基本可以实现JavaScript能够实现的功能。
不过从目前的体验上来看,在浏览器上运行python属实是够慢的,每次打开页面都得等好几秒,并且第一次打开页面的时候竟然还要下载python类库,github上已经有人提出了这个问题,并且官方回答他们已经努力了,并且还在继续努力。
有网友说又可以少掌握一门语言多实现一项功能。不过从目前用户体验这个角度来看,pyscript想要取代JavaScript在浏览器上的地位可能还有一段路要走,但是却给我们提供了玩python的另一条新道路。pyscript还可以朝着哪些方面发展,欢迎大家提出自己的看法。
【python学习】
学Python的伙伴,欢迎加入新的交流【君羊】:1020465983
一起探讨编程知识,成为大神,群里还有软件安装包,实战案例、学习资料
推荐阅读
- WebGL|Three.js系列: 造个海洋球池来学习物理引擎
- Javascript|JS Standard
- JavaScript|JavaScript之函数(二) 函数内部三个不常见的属性
- javascript|有人纵横题海 有人this指向整不明白
- 小程序知识|微信小程序js.json.wxss.wxml后缀文件的区别及使用方法
- 教你用OpenCV 和 Python实现圆物检测
- 教你用OpenCV 和 Python给证件照换底色(蓝底 <-;红底-;白底)
- 用Python生成二维码
- 使用jQuery下拉隐藏显示