草庐IT

Python工具箱系列(八)

shanxihualu 2023-04-17 原文
前面我们提到过,有以下工具都可以开发Python代码:
  • 直接使用Python解释器。运行Python就可以得到一个交互式命令行界面,可以简单的测试代码。作为Python入门,写代码不超过10行,完全可用。如果想开发大型代码,这个真心很难用。

  • 使用IPython,也是命令行界面,但内置非常方便的各种宏与功能。比单纯的Python交互界面强太多。在某些情况下,例如无GUI的纯Linux环境下,这个就算是开发神器了。不过,如果有GUI,这个还是太难用了。

  • 在图形界面下,Python提供了一个IDLE,非常简陋,差不多能用。

  • 使用前面介绍的Anaconda提供的Spyder,非常不错,一般情况下也够用。

  • 使用JetBrain公司的Pycharm社区版本(Community),就是Python开发的神兵利器了,非常好用,也算是业界标准了。

但是笔者仍然强烈推荐使用微软的VSCode,原因就是:
  • 拥抱开源后的微软仍然是IDE开发界的顶级选手,产品的研发队伍雄厚,更新速度快,更少的BUG更高的质量。

  • 高度可扩展、可定制。

  • 由于马太效应,越来越多的插件开发者,导致了越来越多的能力增强。

  • 跨平台使用,可以在主流操作系统(Windows/Macos/Linux)开发。

  • 更好的远程开发能力,可以基于SSH/Wsl/Docker进行开发。

笔者仍然以Windows下VSCode的Python开发为例,进行说明:
  • 从微软网站上下载VSCode安装包,还是以前提醒的,千万不要从任何下载站下载软件,必须从官网上下载。网站会根据浏览器所在的操作系统自动判断当前操作系统后提供最合适的安装包。
  • 下载并且安装,这个过程比较简单。如下图所示,建议将各个选项都选择上,使用起来比较方便。

运行VSCode后,会自动更新到当前的最新版本中。任何时候更新都同意比较好,因为VSCode也在快速的修复BUG、提升性能,跟着微软享受产品的不断增值,感觉挺好。

完成安装后的VSCode对于Python开发来说,仍然没有什么用处,必须通过安装扩展来增强功能。

上图所示,先点1所在图标,然后在2标注的地方输入"Chinese"就会显示出相关的扩展。安装这个扩展能够将整个VSCode汉化。对不熟悉英文的开发者极为友好,一般都是先安装这个。在3所在的位置按下"install",随后按提示重新启动VSCode后,如下图所示就是一个完全汉化的版本了。

从Python开发的角度来看,需要安装以下扩展:

  • Python Extension Pack,套餐式的安装多个相关的扩展。5星好评必属精品。
  • Pylance,微软出的语言服务器,推荐安装。
  • Python Snippets,作者是Ferhat,熟练使用后能够快速写出常用的代码块,提高开发效率,尤其是你不记得某些语法块的写法时,使用它会快速解决问题,免得翻书找例子。
  • Remote Development,微软推出的远程开发扩展三件套,非常有用。
  • Code Runner,网上流行的推荐。但是笔者觉得对于Python来说没有什么用处,不必安装。

 

其它有用的扩展:

  • SonarLint,代码风格检查器,能够闻出"坏代码"来并且给出建议。
  • Excel Viewer,对Excel文件进行显示,对于数据分析人员非常有用。
  • Transformer,作者Dakara,五星好评的文字处理神器。

 

八百多年前,英格兰有一个叫奥卡姆的地方,那里出了一个叫威廉的哲学家,他说了一句话一直影响着科学界直到今天,甚至开始辐射到管理学界、经济学界等,这句话是:如无必要,勿增实体。这就是奥卡姆剃刀原理。在VSCode中也是一样,不是扩展安装的越多越好。衣服穿多了走不了远路,扩展安装多了也无谓的消耗计算机的性能与VSCode性能,扩展够用就好。

此外,也有许多人热衷于给VSCode换个主题,换个色彩与字体等。Python的奥义之一就是尽一切可能避免浪费时间,笔者建议还是简洁为上。

下一期我们讨论最基本的密码学知识,以便后期开发时理解Git/Https等更复杂的概念。

有关Python工具箱系列(八)的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  3. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  4. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  5. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  6. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  7. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  8. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  9. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  10. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

随机推荐