程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

PyScript:让 Python 脚本在 Web 中跑起来

balukai 2025-02-17 11:10:50 文章精选 13 ℃

这是下一个大事件吗?如果继续发展下去,有可能。


在 2022 年 PyCon 美国大会期间,作为主题演讲嘉宾之一的 Peter Wang 公布了 PyScript,一种在 HTML 中直接编写 Python 脚本的方法。或许你不知道 Peter,但你可能听说过 Anaconda,这是一种流行的开源的 Python 和 R 语言的发行版本,特别关注数据科学。Peter 正是 Anaconda 的 CEO 和联合创始人。


换言之,PyScript 是由一家著名的科技公司开发的,这可能会保证它在不久的将来成为可行的方案。它在 Python 和 Web 开发者中受到了极大的关注,GitHub 上已有超过 10k 颗 Stars。然而,它是否能成为一个成功的、有竞争力的产品,取决于长期的时间和开发投入。目前,它还有一些已知的缺陷(将在最后讨论)。


闲话少说,让我们快速了解一下这个令人振奋的产品吧!

py-script 标签

我们知道,HTML 文件是大多数网站最常见的元素。在创建网站时,我们的工作就是直接或间接地通过一些框架来编制 HTML 文件。在典型的 HTML 文件中,你会看到各种类型的标签。例如,定义了 HTML 页面的元数据和关键信息,</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">是整个文档的标题,而</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;"><h1></span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">、</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;"><h2></span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">等定义了不同级别的内容标题。</span></p><p data-track="10" class="syl-page-br" style><br></p><p data-track="11"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">如前所述,PyScript 允许你在 HTML 中编写 Python 脚本,它使用一个特殊的标签</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-script</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">。在这个标签中,你可以嵌入 Python 脚本。要了解它是如何工作的,可以创建一个 HTML 文件,其中包含以下代码,并使用 Chrome 浏览器打开该文件。在 Chrome 浏览器中,你应该能够看到类似下面这样的内容:</span></p><p data-track="12" class="syl-page-br syl-page-br-hide" style><br></p><p data-track="13" class="syl-page-br syl-page-br-hide" style><br></p><p style="text-align: center;" data-track="14">作者截图</p><p data-track="15" class="syl-page-br" style><br></p><p data-track="16"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">在上面的代码片段中,你可能已经注意到以下三个关键点:</span></p><ul><li data-track="17"><span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">link</span></span>标签定义了一个外部样式表。在这个例子中,我们使用了 PyScript 提供的<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">css</span></span>文件。</li><li data-track="18"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">我们使用</span><span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">script</span></span>标签来嵌入一个由<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">src</span></span>定义、由 PyScript 托管的外部脚本。我们使用了<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">defer</span></span>,这样脚本会在下载和页面解析完成后执行——本质上是一种延迟执行,而不是实时执行。</li><li data-track="19"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">最有趣的部分是</span><span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-script</span></span>标签。如你所见,<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">print("Hello, World!")</span></span>是 Python 代码。当执行 HTML 文件时,就可以看到代码求值结果。</li></ul><p data-track="20" class="syl-page-br" style><br></p><p data-track="21"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">这很酷,不是吗?如果你不熟悉 Web 开发,但了解 Python,就可以使用 PyScript 嵌入任何有效的 Python 代码。让我们再看一个例子。</span></p><p data-track="22" class="syl-page-br syl-page-br-hide" style><br></p><p data-track="23" class="syl-page-br syl-page-br-hide" style><br></p><p style="text-align: center;" data-track="24"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">另一个 PyScript 示例(图片由作者提供)</span></p><p data-track="25" class="syl-page-br" style><br></p><p data-track="26"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">在这里,我们写了一些需要计算的代码,可以看到,脚本得到了正确的执行。</span></p><h1 class="pgc-h-arrow-right" data-track="27">py-env 标签</h1><p data-track="28"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">在编写更复杂的代码时,就需要使用第三方库。在这种情况下,我们可以利用</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-env</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签。你可能已经猜到的,env 是 environment 的缩写。</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-env</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签中列出了运行代码所需的 Python 包。</span></p><p data-track="29" class="syl-page-br" style><br></p><p data-track="30"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">你可能知道,许多数据科学家都使用 pandas 进行数据处理工作。让我们看看下面的例子。</span></p><p data-track="31" class="syl-page-br syl-page-br-hide" style><br></p><p data-track="32" class="syl-page-br syl-page-br-hide" style><br></p><p style="text-align: center;" data-track="33"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">使用包的 PyScript(图片由作者提供)</span></p><p data-track="34" class="syl-page-br" style><br></p><p data-track="35"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">如你所见,我们在</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-env</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签中指定了依赖项(即 Pandas),该标签包含在</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">head</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签中。如果页面需要多个依赖项,可以在这里把它们全部列出:</span></p><p data-track="36" class="syl-page-br" style><br></p><pre class="prism-highlight prism-language-bash" class="syl-page-code"><code><py-env> - pandas - matplotlib - numpy </py-env></code></pre><p data-track="38"><span style="color: #888888; --tt-darkmode-color: #5E5E5E;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">复制代码</span></span></p><p data-track="39"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">如你所见,在</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-script</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签中,我们确实可以使用 Pandas 库来创建一个</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">DataFrame</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">对象。然而,当我们把打印出来时就会发现,它是一个单行,而不是一个结构化的数据表。没有一个适当的结构,我们就无法理解这些数据。幸运的是,我们可以使用</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">write</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">函数(下文会讨论)。</span></p><h1 class="pgc-h-arrow-right" data-track="40">将内容写入指定标签</h1><p data-track="41"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">除了 Python 中的标准打印函数</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">print</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">,作为脚本的一部分,PyScript 有自己的</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">write</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">函数,可以将数据发送到页面上指定的 Web 元素中。请看下面的例子:</span></p><p data-track="42" class="syl-page-br syl-page-br-hide" style><br></p><p data-track="43" class="syl-page-br syl-page-br-hide" style><br></p><p style="text-align: center;" data-track="44"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">PyScript 写函数 write(图片由作者提供)</span></p><p data-track="45" class="syl-page-br" style><br></p><p data-track="46"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">与之前的例子相比,上述代码片段有两个重大变化:</span></p><ul><li data-track="47"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">我们现在定义了一个 id 为</span><span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">"DataFrame"</span></span>的<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">div</span></span>,这样稍后就可以引用。</li><li data-track="48"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">在</span><span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-script</span></span>标签中,我们创建一个与之前相同的<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">DataFrame</span></span>对象。但现在,我们不是调用<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">print</span></span>,而是调用<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">pyscript.write</span></span>函数,请求 PyScript 处理并在<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">"DataFrame"</span></span>中显示<span style="color: #292929; --tt-darkmode-color: #292929;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">DataFrame</span></span>对象。从输出可以看到,我们现在有一个结构化的表格了。</li></ul><p data-track="49" class="syl-page-br" style><br></p><p data-track="50"><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">write</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">函数不仅能够打印表格,还能够打印数字。下面的例子向你展示了我们如何使用</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">matplotlib</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">(一个流行的 Python 包,用于数据可视化)来显示由 Python 创建的图。</span></p><p data-track="51" class="syl-page-br syl-page-br-hide" style><br></p><p data-track="52" class="syl-page-br syl-page-br-hide" style><br></p><p style="text-align: center;" data-track="53"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">PyScript 打印图(图片由作者提供)</span></p><p data-track="54" class="syl-page-br" style><br></p><p data-track="55"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">如你所见,</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">write</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;"> 函数以期望的方式显示了图。</span></p><h1 class="pgc-h-arrow-right" data-track="56">py-repl 标签</h1><p data-track="57" class="syl-page-br" style><br></p><p data-track="58"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">Python 学习的最好方法之一是使用 REPL:读取(Read)、求值(Evaluate)、打印(Print)和循环(Loop)。也就是说,使用一个交互式的 Python 控制台,输入一些代码,Python 对其进行求值并打印适当的输出,然后重复这个过程。Web 页面也可以提供这样的 REPL 环境,比如 Jupyter Notebook。</span></p><p data-track="59" class="syl-page-br" style><br></p><p data-track="60"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">PyScript 可以使用</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-repl</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签提供与此类似的东西。在这个元素中,你可以让用户自己编写代码,也可以以编程方式输入代码。请看下面的例子:</span></p><p data-track="61" class="syl-page-br syl-page-br-hide" style><br></p><p data-track="62" class="syl-page-br syl-page-br-hide" style><br></p><p style="text-align: center;" data-track="63"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">PyScript REPL(图片由作者提供)</span></p><p data-track="64" class="syl-page-br" style><br></p><p data-track="65"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">如你所见,上图中有一个单元格,其中包括在</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-repl</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签中指定的代码。值得注意的是,单元格中的代码可以引用我们之前在</span><span style="color: #494949; --tt-darkmode-color: #494949;"><span style="background-color: #F1F3F5; --tt-darkmode-bgcolor: #BDBEC0;">py-script</span></span><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">标签中定义的变量。一切看起来都很协调。</span></p><h1 class="pgc-h-arrow-right" data-track="66">感想</h1><p data-track="67" class="syl-page-br" style><br></p><p data-track="68"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">本文介绍的内容是现阶段 PyScript 所能提供的主要亮点。它似乎是一个很有前途的产品,因为它提供了一个灵活的框架,让 Python 程序员可以在没有太多 Web 开发知识的情况下创建 Web 应用。然而,也有其他类似的成功的产品,因此,竞争会很激烈。</span></p><p data-track="69" class="syl-page-br" style><br></p><p data-track="70"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">例如,如果我需要为自己的数据科学项目创建一个 Web 应用,我就会直接使用 Streamlit。它的功能已经相对成熟。请注意,虽然都与 Web 开发有关,但 PyScript 和 Streamlit 属于不同的产品系。PyScript 应该更通用,因为它的目标是让你可以在任何网页上嵌入任何 Python 代码,Streamlit 做不到这一点。</span></p><p data-track="71" class="syl-page-br" style><br></p><p data-track="72"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">在 PyScript 为更多的人所接受之前,它有几个问题必须解决。例如,Web 页面的加载速度非常慢。如果你尝试跟随本教程运行代码,可能就会注意到,在 Web 页面的显示会有一个明显的滞后。</span></p><p data-track="73" class="syl-page-br" style><br></p><p data-track="74"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">尽管如此,我还是觉得这个产品会继续发展,我的信心主要来自于它的开发者——给我们带来极好的 Anaconda 工具的 Anaconda 团队。</span></p><p data-track="75" class="syl-page-br" style><br></p><p data-track="76"><em><span style="color: #333333; --tt-darkmode-color: #A3A3A3;">本文最初发布于 Better Programming。</span></em></p><p data-track="77" class="syl-page-br" style><br></p><p data-track="78"><span style="color: #494949; --tt-darkmode-color: #9D9D9D;">查看英文原文:</span>Running Python Scripts on the Web Using PyScript</p><p data-track="79">了解更多软件开发与相关领域知识,点击访问 InfoQ 官网:https://www.infoq.cn/,获取更多精彩内容!</p> <div class="info-share-box clearfix"> <div class="fl"> <p class="tags"><strong>Tags:</strong><a href="http://www.balukai.com/tags-150.html" title="查看更多有关于“noscript标签的作用”的内容" rel="tag" target="_blank">noscript标签的作用</a></p> </div> <div class="fr"> <div class="info-share"> <div class="social-share" data-initialized="true"> <a href="#" class="social-share-icon iconfont icon-weibo"></a> <a href="#" class="social-share-icon iconfont icon-qq"></a> <a href="#" class="social-share-icon iconfont icon-wechat"></a> <a href="#" class="social-share-icon iconfont icon-qzone"></a> </div> </div> <script src="http://www.balukai.com/zb_users/theme/txcms2/script/social-share.min.js"></script> </div> </div> </div> <div class="sx mb15"> <ul> <li class="fl">上一篇: <a href="http://www.balukai.com/post/2901.html" title="前端应届生面试经验_前端应聘">前端应届生面试经验_前端应聘</a> </li> <li class="fr ziyou">下一篇: <a href="http://www.balukai.com/post/2903.html" title="最强新媒体营销策划变现品牌推广方案来啦,涉微信快手抖音小红书">最强新媒体营销策划变现品牌推广方案来啦,涉微信快手抖音小红书</a> </li> <div class="clear"></div> </ul> </div> <div class="xg"> <h2 class="ybbt">猜你喜欢</h2> <ul> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2914.html" title="HTML页面中head标签有啥用?——零基础自学网页制作">HTML页面中head标签有啥用?——零基础自学网页制作</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2913.html" title="javascript中innerHTML的是与非_html中innerhtml">javascript中innerHTML的是与非_html中innerhtml</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2912.html" title="JavaScript初学者指南_js新手教程">JavaScript初学者指南_js新手教程</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2911.html" title="九个超级好用的 Javascript 技巧_抖音超级福袋中奖技巧卡时间技巧">九个超级好用的 Javascript 技巧_抖音超级福袋中奖技巧卡时间技巧</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2910.html" title="JavaScript中的常用事件,以及内置对象详解">JavaScript中的常用事件,以及内置对象详解</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2909.html" title="前端如何搞监控总结篇_前端监控系统 开源">前端如何搞监控总结篇_前端监控系统 开源</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2908.html" title="一次低端机 WebView 白屏的兼容之路">一次低端机 WebView 白屏的兼容之路</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2907.html" title="网页基本知识_网页基本要素">网页基本知识_网页基本要素</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2906.html" title="开源图编辑引擎X6,可快速搭建流程图、DAG 图、ER 图">开源图编辑引擎X6,可快速搭建流程图、DAG 图、ER 图</a></li> <li><span class="">2025-02-17</span><i class="fa fa-caret-right"></i> <a href="http://www.balukai.com/post/2905.html" title="WEB大前端进阶之模块化_前端模块化开发是什么意思">WEB大前端进阶之模块化_前端模块化开发是什么意思</a></li> </ul> </div> </div> </div> <div class="right fr sjwu"> <dl class="wupd"> <div class="notice"> <div class="tab-hd"> <ul class="tab-nav"> <li class="on"><a href="javascript:;">最新文章</a></li> <li><a href="javascript:;">热门文章</a></li> <li><a href="javascript:;" class="wux">推荐文章</a></li> </ul> </div> <div class="tab-bd"> <div class="tab-pal" style="display:block"> <ul> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5604.html" title="什么是齐纳二极管?齐纳二极管工作原理详解+参数解读,入股不亏" target="_blank">什么是齐纳二极管?齐纳二极管工作原理详解+参数解读,入股不亏</a></li> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5603.html" title="干货 | 二极管的作用和工作原理(二极管工作原理是什么)" target="_blank">干货 | 二极管的作用和工作原理(二极管工作原理是什么)</a></li> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5602.html" title="二极管为什么有管压降(二极管为什么压降大的先导通)" target="_blank">二极管为什么有管压降(二极管为什么压降大的先导通)</a></li> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5601.html" title="高压二极管的正向电阻和反向电阻(二极管正向电阻与电压关系)" target="_blank">高压二极管的正向电阻和反向电阻(二极管正向电阻与电压关系)</a></li> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5600.html" title="集成运放的使用常识(集成运放的主要参数有哪些?)" target="_blank">集成运放的使用常识(集成运放的主要参数有哪些?)</a></li> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5599.html" title="二极管引脚极性识别及特性知识(二极管管脚极性判断方法)" target="_blank">二极管引脚极性识别及特性知识(二极管管脚极性判断方法)</a></li> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5598.html" title="【Boost2】Boost电路的电感选型(boost 电感)" target="_blank">【Boost2】Boost电路的电感选型(boost 电感)</a></li> <li><span class="fr zuo10 f-red">04-30</span><a href="http://www.balukai.com/post/5597.html" title="关于光耦的那些事(光耦的优点)" target="_blank">关于光耦的那些事(光耦的优点)</a></li> </ul> </div> <div class="tab-pal"> <ul> <li><span class="fr zuo10">700℃</span><a href="http://www.balukai.com/post/2023.html" title="探访银行凭证管理员:每天平均接触上千位数字" target="_blank">探访银行凭证管理员:每天平均接触上千位数字</a></li> <li><span class="fr zuo10">369℃</span><a href="http://www.balukai.com/post/2028.html" title="转发,三大银行(工行、建行、农行) 新IT架构总览" target="_blank">转发,三大银行(工行、建行、农行) 新IT架构总览</a></li> <li><span class="fr zuo10">271℃</span><a href="http://www.balukai.com/post/4638.html" title="C语言 ftell 与 fseek 的深度结合应用" target="_blank">C语言 ftell 与 fseek 的深度结合应用</a></li> <li><span class="fr zuo10">267℃</span><a href="http://www.balukai.com/post/4640.html" title="PHP常用类 – 缓存类 cache(php几大缓存技术)" target="_blank">PHP常用类 – 缓存类 cache(php几大缓存技术)</a></li> <li><span class="fr zuo10">204℃</span><a href="http://www.balukai.com/post/4094.html" title="面试官:事务到底是隔离还是不隔离?" target="_blank">面试官:事务到底是隔离还是不隔离?</a></li> <li><span class="fr zuo10">199℃</span><a href="http://www.balukai.com/post/3908.html" title="使用 GORM 自动生成 Golang 代码" target="_blank">使用 GORM 自动生成 Golang 代码</a></li> <li><span class="fr zuo10">189℃</span><a href="http://www.balukai.com/post/3076.html" title="C语言 - 常见程序崩溃分析_c语言崩溃代码" target="_blank">C语言 - 常见程序崩溃分析_c语言崩溃代码</a></li> <li><span class="fr zuo10">181℃</span><a href="http://www.balukai.com/post/444.html" title="解决Github访问慢问题,加速你的Github!Github访问加速工具" target="_blank">解决Github访问慢问题,加速你的Github!Github访问加速工具</a></li> </ul> </div> <div class="tab-pal"> <ul> </ul> </div> </div> </div> </dl> <dl class="function" id="divPrevious"> <dt class="function_t">最近发表</dt><dd class="function_c"> <ul><li><a title="什么是齐纳二极管?齐纳二极管工作原理详解+参数解读,入股不亏" href="http://www.balukai.com/post/5604.html">什么是齐纳二极管?齐纳二极管工作原理详解+参数解读,入股不亏</a></li> <li><a title="干货 | 二极管的作用和工作原理(二极管工作原理是什么)" href="http://www.balukai.com/post/5603.html">干货 | 二极管的作用和工作原理(二极管工作原理是什么)</a></li> <li><a title="二极管为什么有管压降(二极管为什么压降大的先导通)" href="http://www.balukai.com/post/5602.html">二极管为什么有管压降(二极管为什么压降大的先导通)</a></li> <li><a title="高压二极管的正向电阻和反向电阻(二极管正向电阻与电压关系)" href="http://www.balukai.com/post/5601.html">高压二极管的正向电阻和反向电阻(二极管正向电阻与电压关系)</a></li> <li><a title="集成运放的使用常识(集成运放的主要参数有哪些?)" href="http://www.balukai.com/post/5600.html">集成运放的使用常识(集成运放的主要参数有哪些?)</a></li> <li><a title="二极管引脚极性识别及特性知识(二极管管脚极性判断方法)" href="http://www.balukai.com/post/5599.html">二极管引脚极性识别及特性知识(二极管管脚极性判断方法)</a></li> <li><a title="【Boost2】Boost电路的电感选型(boost 电感)" href="http://www.balukai.com/post/5598.html">【Boost2】Boost电路的电感选型(boost 电感)</a></li> <li><a title="关于光耦的那些事(光耦的优点)" href="http://www.balukai.com/post/5597.html">关于光耦的那些事(光耦的优点)</a></li> <li><a title="#技能改变生活#基础电子入门知识:二极管的特性与应用" href="http://www.balukai.com/post/5596.html">#技能改变生活#基础电子入门知识:二极管的特性与应用</a></li> <li><a title="电工电路图中二极管、三极管的符号标识" href="http://www.balukai.com/post/5595.html">电工电路图中二极管、三极管的符号标识</a></li> </ul> </dd> </dl> <dl class="function" id="divTags"> <dt class="function_t">标签列表</dt><dd class="function_c"> <ul><li><a title="newcoder" href="http://www.balukai.com/tags-32.html">newcoder<span class="tag-count"> (56)</span></a></li> <li><a title="字符串的长度是指" href="http://www.balukai.com/tags-35.html">字符串的长度是指<span class="tag-count"> (45)</span></a></li> <li><a title="drawcontours()参数说明" href="http://www.balukai.com/tags-39.html">drawcontours()参数说明<span class="tag-count"> (60)</span></a></li> <li><a title="unsignedshortint" href="http://www.balukai.com/tags-56.html">unsignedshortint<span class="tag-count"> (59)</span></a></li> <li><a title="postman并发请求" href="http://www.balukai.com/tags-85.html">postman并发请求<span class="tag-count"> (47)</span></a></li> <li><a title="python列表删除" href="http://www.balukai.com/tags-97.html">python列表删除<span class="tag-count"> (50)</span></a></li> <li><a title="左程云什么水平" href="http://www.balukai.com/tags-98.html">左程云什么水平<span class="tag-count"> (56)</span></a></li> <li><a title="计算机网络的拓扑结构是指()" href="http://www.balukai.com/tags-105.html">计算机网络的拓扑结构是指()<span class="tag-count"> (45)</span></a></li> <li><a title="稳压管的稳压区是工作在什么区" href="http://www.balukai.com/tags-120.html">稳压管的稳压区是工作在什么区<span class="tag-count"> (45)</span></a></li> <li><a title="编程题" href="http://www.balukai.com/tags-126.html">编程题<span class="tag-count"> (64)</span></a></li> <li><a title="postgresql默认端口" href="http://www.balukai.com/tags-132.html">postgresql默认端口<span class="tag-count"> (66)</span></a></li> <li><a title="数据库的概念模型独立于" href="http://www.balukai.com/tags-133.html">数据库的概念模型独立于<span class="tag-count"> (48)</span></a></li> <li><a title="产生系统死锁的原因可能是由于" href="http://www.balukai.com/tags-139.html">产生系统死锁的原因可能是由于<span class="tag-count"> (51)</span></a></li> <li><a title="数据库中只存放视图的" href="http://www.balukai.com/tags-141.html">数据库中只存放视图的<span class="tag-count"> (62)</span></a></li> <li><a title="在vi中退出不保存的命令是" href="http://www.balukai.com/tags-144.html">在vi中退出不保存的命令是<span class="tag-count"> (53)</span></a></li> <li><a title="哪个命令可以将普通用户转换成超级用户" href="http://www.balukai.com/tags-146.html">哪个命令可以将普通用户转换成超级用户<span class="tag-count"> (49)</span></a></li> <li><a title="noscript标签的作用" href="http://www.balukai.com/tags-150.html">noscript标签的作用<span class="tag-count"> (48)</span></a></li> <li><a title="联合利华网申" href="http://www.balukai.com/tags-152.html">联合利华网申<span class="tag-count"> (49)</span></a></li> <li><a title="swagger和postman" href="http://www.balukai.com/tags-159.html">swagger和postman<span class="tag-count"> (46)</span></a></li> <li><a title="结构化程序设计主要强调" href="http://www.balukai.com/tags-165.html">结构化程序设计主要强调<span class="tag-count"> (53)</span></a></li> <li><a title="172.1" href="http://www.balukai.com/tags-167.html">172.1<span class="tag-count"> (57)</span></a></li> <li><a title="apipostwebsocket" href="http://www.balukai.com/tags-169.html">apipostwebsocket<span class="tag-count"> (47)</span></a></li> <li><a title="唯品会后台" href="http://www.balukai.com/tags-173.html">唯品会后台<span class="tag-count"> (61)</span></a></li> <li><a title="简历助手" href="http://www.balukai.com/tags-176.html">简历助手<span class="tag-count"> (56)</span></a></li> <li><a title="offshow" href="http://www.balukai.com/tags-286.html">offshow<span class="tag-count"> (61)</span></a></li> </ul> </dd> </dl> </div> <div class="clear"></div> </div> <div class="footer"> <div class="zh"> </div> </div> <div class="fixed-right"> <a href="javascript:;" class="gotop bgb" title="回到顶部"><i class="fa fa-chevron-up"></i></a> </div> <script src="http://www.balukai.com/zb_users/theme/txcms2/script/txcstx.min.js?v=2024-09-18"></script> </body> </html><!--113.07 ms , 13 queries , 3508kb memory , 0 error-->