中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于python怎么使用PyScript

發布時間:2022-06-14 09:44:34 來源:億速云 閱讀:241 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“基于python怎么使用PyScript”,內容詳細,步驟清晰,細節處理妥當,希望這篇“基于python怎么使用PyScript”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

作用

PyScript 核心特性:

  • Python in the browser:啟用 drop-in content、外部文件托管(基于 Pyodide 項目),以及不依賴服務器端配置的應用程序托管。

  • Python 生態:提供流行的 Python 和科學計算軟件包(例如 numpy, pandas, scikit-learn 等)。

  • Python with JavaScript:在 Python 和 JavaScript 對象和命名空間之間進行雙向通信。

  • 環境管理:開發者可定義要引入哪些包和文件,以便頁面代碼的運行。

  • 可視化應用開發:開發者可使用現成的 UI 組件,如按鈕、容器、文本框等。

  • 靈活的框架:開發者可以利用它在 Python 中直接創建和分享新的可插拔和可擴展的組件。

PyScript 目標:

  • 提供干凈簡單的 API。

  • 支持標準 HTML。

  • 擴展 HTML 以讀取穩定且可靠的自定義組件。

  • 提供可插拔、可擴展的組件系統。

使用方法

下面,我們來體驗一下這個新生事物吧!

我們可以使用 CDN 來安裝 PyScript:

<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>

接著,我們來看看一個簡單的頁面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 PyScript -->
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
    <title>First PyScript Application</title>
    <style>
        py-script {
            width: 100%;
            height: 100%;
            font-size: 20px;
            text-align: center;
            position: absolute;
        }
    </style>
</head>
<body>
    <py-script>
        print('Hello PyScript!')
    </py-script>
</body>
</html>

運行這個程序,你就可以在瀏覽器頁面上看到這個結果了:

基于python怎么使用PyScript

這就是我們著名的 Hello 式問候!

這段前端代碼里面,我們直接使用 py-script 標簽包裹 Python 代碼,就實現前端腳本控制功能了。

我這里是在 vscode 里面運行的,運行代碼之前需要安裝 Live Server 這個插件,然后就可以直接瀏覽器訪問了。

我們再來看一個復雜一點的例子:

<html>
    <head>
      <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  />
      <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
      <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="external nofollow"  rel="stylesheet" crossorigin="anonymous">
    </head>

  <body>
    <b><p>Today is <u><label id='today'></label></u></p></b>
    <br>
    <div id="pi" class="alert alert-primary"></div>
    <py-script>
        import datetime as dt
        pyscript.write('today', dt.date.today().strftime('%A %B %d, %Y'))

        def compute_pi(n):
            pi = 2
            for i in range(1,n):
                pi *= 4 * i ** 2 / (4 * i ** 2 - 1)
            return pi

        pi = compute_pi(100000)
        pyscript.write('pi', f'π is approximately {pi:.3f}')
    </py-script>
  </body>
</html>

這個例子中,我們使用 <py-script> 標簽,在里面提供 .write() 方法,將字符串寫到頁面的標簽中。

運行這段代碼,我們會看到瀏覽器頁面的結果:

基于python怎么使用PyScript

我們還可以在頁面中引入 Python 的包,來實現一些簡便的操作。

<html>
    <head>
      <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  />
      <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
      <py-env>
        - numpy
        - matplotlib
      </py-env>
    </head>
  <body>
    <h2>Let's plot random numbers</h2>
    <div id="plot"></div>
    <py-script output="plot">
        import matplotlib.pyplot as plt
        import numpy as np
        x = np.random.randn(1000)
        y = np.random.randn(1000)

        fig, ax = plt.subplots()
        ax.scatter(x, y)
        fig
    </py-script>
  </body>
</html>

在這里,我們引用了 numpy 和  matplotlib 這兩個包,引用包是在 <head> 標簽內部通過 <py-env> 標簽來實現。

運行這個程序,我的頁面始終處于加載狀態:

基于python怎么使用PyScript

讀到這里,這篇“基于python怎么使用PyScript”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑河市| 丹东市| 灵石县| 溧水县| 宜丰县| 兴城市| 磴口县| 黎城县| 兴海县| 祁阳县| 都昌县| 多伦县| 江北区| 尉犁县| 镇平县| 独山县| 博客| 华容县| 绥中县| 富民县| 乌恰县| 濮阳县| 监利县| 攀枝花市| 高邑县| 二连浩特市| 福鼎市| 平顶山市| 广汉市| 彝良县| 和平县| 万盛区| 韶山市| 宁波市| 乌拉特前旗| 铁力市| 清水县| 陆河县| 沁水县| 元谋县| 将乐县|