分享一個2022年火遍全網的Python框架
最近Python圈子當中出來一個非常火爆的框架PyScript,該框架可以在瀏覽器中執行Python程式,只需要在HTML程式中新增一些Python程式碼即可實現。該專案出來之後便引起了轟動,馬上躥升到了Github趨勢榜榜首,短短20天已經有10K+的star了。既然如此,小編今天就帶大家來看看該框架是如何使用的。
HelloWorld
我們先來看一下簡單的例子,程式碼如下:
<html> <head> <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" /> <script defer src="https://pyscript.net/alpha/pyscript.js"></script> </head> <body> <py-script> print('Hello, World!') </py-script> </body> </html>
其中Python程式碼被包裹在了py-script標籤裡面,然後我們在瀏覽器中查看出來的結果,如下所示:
要不來畫個圖
下面這一個例子當中,我們嘗試將matplotlib繪製圖表的程式碼放置到HTML程式碼當中去,以實現繪製出一張直方圖的操作。首先是matplotlib程式碼部分,
import matplotlib.pyplot as plt import numpy as np np.random.seed(42) ## 隨機生成滿足正態分佈的隨機資料 rv = np.random.standard_normal(1000) fig, ax = plt.subplots() ax.hist(rv, bins=30)
output:
然後我們將上面的程式碼放置到HTML程式碼當中去,程式碼如下:
<html> <head> <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css"/> <script defer src="https://pyscript.net/alpha/pyscript.js"></script> <py-env> - numpy - matplotlib </py-env> </head> <body> <h1>Plotting a histogram of Standard Normal distribution</h1> <div id="plot"></div> <py-script output="plot"> import matplotlib.pyplot as plt import numpy as np np.random.seed(42) rv = np.random.standard_normal(1000) fig, ax = plt.subplots() ax.hist(rv, bins=30) fig </py-script> </body> </html>
output:
由於我們後面需要用到numpy和matplotlib兩個庫,因此我們通過py-env標籤來引進它們,另外
再畫個折線圖
我們在上面的基礎之上,再來繪製一張折線圖,首先我們再建立一個div標籤,裡面的id是lineplot,程式碼如下:
<div id="lineplot"></div>
同樣地在py-script標籤中放置繪製折線圖的程式碼,output對應div標籤中的id值:
<py-script output="lineplot"> ......... </py-script>
繪製折線圖的程式碼如下:
import matplotlib.pyplot as plt fig, ax = plt.subplots() year1 = [2016, 2017, 2018, 2019, 2020] population1 = [30, 46, 45, 55, 48] year2 = [2016, 2017, 2018, 2019, 2020] population2 = [43, 48, 44, 75, 45] plt.plot(year1, population1, marker='o', linestyle='--', color='g', label='Countr_1') plt.plot(year2, population2, marker='d', linestyle='-', color='r', label='Country_2') plt.xlabel('Year') plt.ylabel('Population (M)') plt.title('Year vs Population') plt.legend(loc='lower right') fig
output:
現階段執行帶有Pyscript的頁面載入速度並不會特別地快,該框架剛剛推出,仍然處於測試的階段,後面肯定會不斷地優化。要是遇到載入速度慢地問題,讀者朋友看一下是不是可以通過更換瀏覽器得以解決。
「其他文章」
- 介紹一款進階版的 Pandas 資料分析神器:Polars
- Python包管理工具之Pipenv
- 「Spring」Boot Docker 認證指南(上)
- 基於Electron開發Hosts切換工具的“踩坑”之旅
- 2022 年需求中優秀的 DevOps 工具
- 一日一技:如何實現帶Timeout的Input?
- 13 個非常有用的 Python 程式碼片段,建議收藏!
- [科普文] 淺談 Function Programing 程式設計正規化
- 什麼是Pulsar函式流處理應用?
- Flask vs Django: 該如何選擇Python框架?
- 十個用圖表解釋JavaScript 閉包的面試題
- 漫談 CSS 方法論
- 超詳細的日常開發必備神器 HttpUtil
- 理想中的介面自動化專案你瞭解嗎?
- 讓我們一起聊聊 Django 框架
- Spring中欄位格式化的使用詳解
- 2022 年面向開發人員的七個優秀 Java IDE
- 開發一個禁止刪除 Namespace 的控制器
- Web1.0到Web3.0,網際網路是如何演進的?
- DDD概念複雜難懂,實際落地如何設計程式碼實現模型?