整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Anaconda 推出 PyScript:在 HTM

Anaconda 推出 PyScript:在 HTML 嵌入 Python 代码

品|开源中国

文|局长

知名 Python 发行版 Anaconda 开发商近日宣布了可在浏览器端运行的 Python —— PyScript

根据官方的介绍,PyScript 是一个开发框架,为开发者提供了在标准 HTML 中嵌入编写 Python 代码的能力、使用 Python 调用 JavaScript 函数库,以及创建 Python Web 应用。PyScript 旨在提供“一等公民(first-class)”的编程语言,它具有一致的风格化规则、更具表现力且更易于学习。

PyScript 示例代码

<py-script>
"Hello World"
</py-script>
<py-script src="/my_own_file.py"></py-script>
  <py-env>
  - bokeh
  - numpy
  - paths:
    - /utils.py
      </py-env>

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 以读取稳定且可靠的自定义组件
  • 提供可插拔、可扩展的组件系统

PyScript 基于 Pyodide 构建,Pyodide 由编译成 WebAssembly 的 CPython 3.8 解释器组成,允许在网页浏览器中运行 Python。Pyodide 可以安装来自 PyPi 的任何 Python 包。Pyodide 还包括一个外部函数接口,可以将 Python 包暴露给 JavaScript,并将浏览器 UI,包括 DOM,暴露给 Python。

关于 PyScript 运行原理的更多信息查看:https://engineering.anaconda.com/2022/04/welcome-pyscript.html

目前 PyScript 处于 alpha 测试阶段,下载和安装地址:https://pyscript.net/

ublime / vscode 快捷生成HTML代码的实现

文章目录

1.基本html结构

2.生成div加类名的快捷键

3.带类名的div

4.带id的div

5.属性【】

6.后代>

7.兄弟+

8.上级^

9.乘法*

10.文本{}

1、基本html结构

操作: 输入 !+Enter键

注意:这里输入“!”+回车键前,需要清空原来生成的基本结构

实现效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
     
</body>
</html>

2、生成div加类名的快捷键

操作: 输入 div.list>div.item_$*6

实现效果:

<div class="list">
    <div class="item_1"></div>
    <div class="item_2"></div>
    <div class="item_3"></div>
    <div class="item_4"></div>
    <div class="item_5"></div>
    <div class="item_6"></div>
</div>

3、带类名的div

操作: 输入 div.wrapper

实现效果:

<div class="wrapper"></div>

4、带id的div

操作: div#wrapper

实现效果:

<div id="wrapper"></div>

5、属性 []

操作: span[title=“test”]

实现效果:

<span title="test"></span>

6、后代 >

操作: 输入div>span>a

实现效果:

<span title="test"></span>

7、兄弟 +

操作: div+p+span

实现效果:

<div></div>
<p></p>
<span></span>

8、上级 ^

操作: div>span^i

实现效果:

<div><span></span></div>
<i></i>

9、乘法 *

操作: ul>li*2

实现效果:

<ul>
    <li></li>
    <li></li>
</ul>

10、文本 {}

操作: div>span{这是文本}

实现效果:

<div><span>这是文本</span></div>

4 种方式可以在 HTML 中引入 CSS。其中有 2 种方式是在 HTML 文件中直接添加 CSS 代码,另外两种是引入 外部 CSS 文件。下面我们就来看看这些方式和它们的优缺点。

内联方式

内联方式指的是直接在 HTML 标签中的 style 属性中添加 CSS。

示例:

<div style="background: red"></div>

这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个 <div> 拥有相同的样式,你不得不重复地为每个 <div> 添加相同的样式,如果想要修改一种样式,又不得不修改所有的 style 中的代码。很显然,内联方式引入 CSS 代码会导致 HTML 代码变得冗长,且使得网页难以维护。

嵌入方式

嵌入方式指的是在 HTML 头部中的 <style> 标签下书写 CSS 代码。

示例:

<head>
 <style>
 .content {
 background: red;
 }
 </style>
</head>

嵌入方式的 CSS 只对当前的网页有效。因为 CSS 代码是在 HTML 文件中,所以会使得代码比较集中,当我们写模板网页时这通常比较有利。因为查看模板代码的人可以一目了然地查看 HTML 结构和 CSS 样式。因为嵌入的 CSS 只对当前页面有效,所以当多个页面需要引入相同的 CSS 代码时,这样写会导致代码冗余,也不利于维护。

链接方式

链接方式指的是使用 HTML 头部的 <head> 标签引入外部的 CSS 文件。

示例:

<head>
 <link rel="stylesheet" type="text/css" href="style.css">
</head>

这是最常见的也是最推荐的引入 CSS 的方式。使用这种方式,所有的 CSS 代码只存在于单独的 CSS 文件中,所以具有良好的可维护性。并且所有的 CSS 代码只存在于 CSS 文件中,CSS 文件会在第一次加载时引入,以后切换页面时只需加载 HTML 文件即可。

导入方式

导入方式指的是使用 CSS 规则引入外部 CSS 文件。

示例:

<style>
 @import url(style.css);
</style>

比较链接方式和导入方式

链接方式(下面用 link 代替)和导入方式(下面用 @import 代替)都是引入外部的 CSS 文件的方式,下面我们来比较这两种方式,并且说明为什么不推荐使用 @import

  • link 属于 HTML,通过 <link> 标签中的 href 属性来引入外部文件,而 @import 属于 CSS,所以导入语句应写在 CSS 中,要注意的是导入语句应写在样式表的开头,否则无法正确导入外部文件;
  • @import 是 CSS2.1 才出现的概念,所以如果浏览器版本较低,无法正确导入外部样式文件;
  • 当 HTML 文件被加载时,link 引用的文件会同时被加载,而 @import 引用的文件则会等页面全部下载完毕再被加载;

小结:我们应尽量使用 <link> 标签导入外部 CSS 文件,避免或者少用使用其他三种方式。