我用什么写Python?

news2024/11/18 5:52:51

入门教程、案例源码、学习资料、读者群

请访问: python666.cn

大家好,欢迎来到 Crossin的编程教室 !

通常来说,每个程序员都有自己趁手的兵器:代码编辑器。你要是让他换个开发环境,恐怕开发效率至少下降三成。然而,每个人对编辑器的喜好各不相同,甚至引发出诸如“神的编辑器”与“编辑器之神”这种信仰之争。但也正由此可见,个性化的编辑器对于一个程序员的重要性。

对编程新手来说,开发环境的选择常常成为入门后的第一道坎。因为捣鼓了半天没能成功运行代码而被迫从入门到放弃的情景并不少见。初上手时选择的编辑器是否易用也会直接影响你的学习热情。

今天就来讲讲我对 Python 编辑器的经验。

我们用来写 Python 的工具有两类:

一种是被称为 IDE集成开发环境,它们为开发而生。如 IDLE、PyCharm、Spyder 等。

另一种更像是文本编辑器,只不过比较强大,可以支持编写和运行代码。如 SublimeText、Emacs、Vim 等。在此我主要介绍下我个人平常用的几款。

1. IDLE

91c4cf67ba54be26b939dbccd508ede6.jpeg

讲真,再怎么降低标准,IDLE 恐怕也算不上一个“好”的编辑器。不论是自动补全、语法提示,还是项目文件管理,甚至是高亮提示,它要么不支持,要么支持得很勉强。“用户体验”基本没有,更要命的是,经常在某些系统或某些版本下无法运行或无法输入。

但没办法,人是亲儿子啊!安装完 Python 什么配置都不用做(甚至不用理会环境变量),就可以用它来编写和运行代码了。对一个没什么计算机基础的新人来说,还要啥自行车要啥手表呢?直接写就完啦!

所以在我的零基础教程,以及其他不少入门级教程里,都把 IDLE 当做了一开始的演示开发环境。但我不得不强调下,IDLE 仅仅是编程世界的敲门砖,它让你快速上手,但不可能陪你走下去。尽早去寻找属于你的工具吧。

2. SublimeText

3b60b1e4d13632b90127f9711ba23bd8.jpeg

Sublime 是一个功能丰富的文本编辑器。除了写 Python 外,我也会拿它写一写其他代码如 JS、HTML、CSS,并且它也是我日常使用的记事本和文本编辑器。你们看到的大多数微信推送文章,最初的草稿都是是用 Sublime 写成的。

默认安装后,如果你的电脑上已装好 Python,Sublime 就可以运行 .py 文件,并且具有语法提示、补全的功能。不支持更复杂的语法检查,也不支持控制台输入(input),但可以通过安装额外插件来补充功能。如果你电脑上有多个版本的 Python,选择起来也稍复杂。因此我常年打开着 Sublime,写一些代码片段,或者审核学员提交的作业时使用。

Sublime 是收费软件,但可以免费使用。

3. PyCharm

84e5b94d975e03ce17931cd013d32064.jpeg

这是我在课程中和答疑群里主要推荐的开发工具。除了一开始配置可能会遇到点麻烦,以及启动时间略慢以外,真的是很好用。PyCharm 在项目内部提供了对编码、第三方库的管理,形成一个小的沙盒,避免系统中其他的配置对开发环境造成的干扰,让新手少踩点坑。不过有点不幸的是:如果你没有按照它设想的那样配置好,有可能因此踩到新的坑。

我个人用 PyCharm 做的开发主要是课程和演示项目。如果你在使用其他编辑器时遇到问题,不妨同我的例子保持一致试试,减少不必要的折腾。

PyCharm 也是收费软件,但有免费的社区版和教育版(需申请)。我用的就是社区版,功能足够学习了。如果你一定需要汉化版或者专业版,可自行网上搜索。

4. IPython

710c40597e3ab1892f60cf161d1e3e84.jpeg

IPython 是一个交互式的开发环境,也就是我们课程一开始用过的 Python Shell 的加强版。通过 pip install ipython 即可安装。主要是增加了自动补全和历史命令记录,语法高亮也看着舒服点。但新手可能不太会用到。如果你到了上服务器运行代码的阶段,那一定得装一个。

同 Sublime 一样,IPython 我也一直开着。因为交互式的环境很适合调试几句代码,测试一下某个语法的特性,看看某个模块里方法的调用,甚至用 help() 命令去看文档。看过我答疑的同学也知道,我经常是针对问题在 IPython 里运行一段代码贴过去。我强烈建议大家养成运行代码的习惯,尤其是在你看书看教程的时候,不要光顾着看,一定把编辑器开着随时敲一敲代码跑一跑。很多问题通过几次尝试自然就领会了。

5. Jupyter

cdae2a82cc294eaa179636835b655a9d.jpeg

也就是 IPython Notebook。它相当于是把上面提到的 IPython 做成了网页版,但又不仅仅是网页版。

我之前很少用,但最近有点爱上它:因为用它来写爬虫或数据分析实在太舒服了!写爬虫的时候免不了反复尝试,有了交互式的 Jupyter,你可以步步为营,逐步修正你的代码,而不用每次都从头抓。数据分析则是因为它和 matplotlib 以及 echarts 都结合得很好,无需弹窗,页面上直接显示绘图结果。

对于想深入数据分析的同学,拿一本《利用 Python 进行数据分析》,再就着一个开着的 Jupyter 页面,一个个例子去玩吧。

另外,因为是网页版的,所以如果你有服务器的话,甚至可以用它做一个随时随地写代码的在线版 Python 工具。不过自己用用就好,千万不要直接对外公布,它会把你的服务器环境暴露在外。

5.Emacs

6be01cdc5c69f5be456f5f1e44339d92.jpeg

终于来了,神的编辑器。

这是多年开发的老习惯。你们看到的编程教室网站就是在 Emacs 上写成的。但这个门槛较高,也不存在推荐了,大家看看就好。

d9b608f54ddafb786769ca141cc9df7e.png

为了用 Emacs 我都改了自己的键位。最近手指有点疼,考虑是不是再加个脚踏板8fdac4cc489c5f13a9d3c2ef0c8586ef.png

以上是我常用的编辑器。算是有点分裂,不过确实各有各的优势。所以没必要争论哪个更好,按自己的需要选择用着顺手的就好。

另外肯定有同学要说了,居然没有 VS Code !? 的确,VS Code也是非常棒的 Python 编辑器,不过我个人用的不多。熟悉的朋友可以在留言区中说说使用感想。

对于初学,我还是建议用 PyCharm,功能比较完善,各方面相对均衡。之前写过两篇关于 PyCharm 的介绍文章,

公众号(Crossin的编程教室)里回复 PyCharm 可以看到。

不过似乎最近的版本又做了一些改动,可能我又得再写一篇新的了。

而其他还有不少优秀的编辑器,如 Atom、Vim、Spyder 等(不推荐 PyScripter),因我自己并无长期使用经验,就不搬运网上的介绍了。如果你在使用或者有兴趣,搜索下会有很多教程。有推荐的欢迎留言。但仅我上述提及的几个其实也足够用了。

工欲善其事,必先利其器。选个好的编辑器,学习效率大增,起码像少半个括号少半个引号这种错误就不太会出现了。

不过最终嘛,工具还是看谁来用。只要你写得够多,记事本也能成就大牛。(但认真地说:如果你还不是大牛,任何开发相关的事情都不要用 Windows 自带的记事本!07ff1592113035ecf5ba982bba77bfea.png

感谢转发点赞的各位~


_往期文章推荐_

谁说不能用中文写代码?


如需了解付费精品课程教学答疑服务

请在Crossin的编程教室内回复: 666

470906040d071ebaf88df836173cceb9.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/463350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聊聊 Zookeeper 的 4lw 与信息安全

聊聊 Zookeeper 的 4lw 与信息安全 1. 4lw 与信息泄露问题概述 最近有个客户在扫描安全漏洞时,反馈 ZOOKEEPER 存在信息泄露问题,即:ZooKeeper默认开启在2181端口,在未进行任何访问控制情况下,攻击者可通过执行envi命令获得系统…

剑指 Offer 42. 连续子数组的最大和:C语言解法

剑指 Offer 42. 连续子数组的最大和 - 力扣(Leetcode) 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 实例: 输入: nums [-2,1,-3,4,-1,2,1,-5,4] 输出: …

电子厂房照明的设计与应用

摘 要:本文基于节能视角对工业厂房的照明设计特点、高效照明装置节能产品选用及电气优化设计进行了分析探讨,具有较强的指导性和价值性,供借鉴参考。 关键词:节能;工业厂房;照明设计;特点&…

java反转字符串的方法

1、首先我们定义一个方法,用来反转字符串。用 public static void (String)方法初始化一个对象,然后使用 private static ()方法对该对象进行初始化,并检查是否有某个字符串和字符串本身相同&am…

MacBook杀毒软件CleanMyMac X4.13

CleanMyMac如何清理 Mac系统?Mac系统在使用过程中都会产生大量系统垃圾,如不需要的系统语言安装包,视频网站缓存文件,mac软件卸载残留的注册表等。 随着时间推移,mac系统垃圾就会越来越多,电脑就开始变慢变…

纳芯微携手企企通,打造全新数字化采购管理系统

近日,苏州纳芯微电子股份有限公司(以下简称:纳芯微)与企企通携手打造的数字化采购平台项目启动会顺利举行。双方相关部门领导、项目团队参加了启动会。双方一致认为本次数字化采购项目合作意义重大,希望共同携手&#…

ROS第四十三节——定位

https://download.csdn.net/download/qq_45685327/87725276 1.新建launch文件 关于launch文件的实现,在amcl功能包下的example目录已经给出了示例,可以作为参考,具体实现: roscd amcl ls examples gedit amcl_diff.launch 该目录下会列出两…

“井电双控”地下水远程计量设施-实现地下水资源合理利用

“井电双控”地下水远程计量设施(MGTR-W4122C)是针对取水计量控制系统开发智能终端产品。集预收费、流量监测、电量监测、余额提醒、欠费停机、无线传输、远程控制等多种功能于一体,并可根据项目需求选择实体IC卡和APP电子卡取水两种方式。其…

Anaconda,CUDA注意事项

2. 呜呜呜!!!用别人的环境,如果他是非GPU版本的TF,你把非GPU版本的TF卸载后安装GPU版本的TF他也装不上。。。会默认给你装非GPU版本的TF!!!大坑比!!&#xf…

手把手带你写一份优秀的开发求职简历(二)

前言 上一节我们针对简历文档名做了剖析,应该把哪些更醒目的简历属性放到文档名上。其实目的很简单,就是希望在HR手中众多的简历中,可以通过文档名字就抓住HR的需求点,让她把你的简历做为第一筛选梯队。匹配好了这一点呢&#xf…

第四章——数学知识3

高斯消元 高斯消元可以用来解方程,可以在n三次方的时间复杂度内,求多元线性方程组。 答案只有三种情况,无解,无穷多组解,唯一解 输入一个包含 n 个方程 n 个未知数的线性方程组。 方程组中的系数为实数。 求解这个方程…

从0~1落地接口自动化测试,让你不再手忙脚乱丨轻松入门

接口自动化测试入门教程地址:https://www.bilibili.com/video/BV1914y1F7Bv/? 目录:导读 前言 为什么要做接口测试 理解接口和接口测试 如何落地接口自动化测试 结语 前言 对于初学者而言,如何从零开始落地接口自动化测试是一个难点&am…

c/c++:字符串str中寻找子串substr出现的次数

c/c:字符串str中寻找子串substr出现的次数 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学,可手握10多个offer,随心所欲&#xff0…

LeetCode:24. 两两交换链表中的节点

🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀 算法专栏: 👉🏻123 一、🌱24. 两两交换链表中的节点 题目描述:给你一个链表&#x…

第二章 Unity界面认识

本章节我们来认识一下Unity的主界面,如下所示 Unity的主界面虽然看的内容比较多,但是结构上还是比较清晰地,所以并不乱。从上到下,从左到右依次是菜单栏,工具栏,层次面板(Hierarchy)…

Docker Compose的常用命令与docker-compose.yml脚本属性配置

Docker Compose的常用命令与配置 常见命令ps:列出所有运行容器logs:查看服务日志输出port:打印绑定的公共端口build:构建或者重新构建服务start:启动指定服务已存在的容器stop:停止已运行的服务的容器&…

Android studio 使用入门

安装 安装JDK https://www.oracle.com/java/technologies/downloads/ 新增变量JAVA_HOME,值为JDK安装根目录 在path中增加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 安装 Android studio https://developer.android.google.cn/studio/ 注意:路径尽量不要包…

区间DP (Java) 解析/模板/案例

一. 区间DP简单介绍 区间DP,是经常会用到的、解决区间问题的一种方法,经常以动态规划(dfs/记忆化搜索)的形式展现,最核心的思想就是枚举区间(枚举端点),寻找切割点,处理因…

java.util.List和java.util.Set区别

最近有个需求要求查询按照单号查询顺序,数据库是hbase,我看了之前代码没有通过查hbase进行排序,就问了前端看是否前端可以排序,答案是前端不会做排序;有2个接口其中之前的接口就是这样排序的,于是我就按个排查看不同之…

Java每日一练(20230426)

目录 1. 天际线问题 🌟🌟🌟 2. 2 的幂 🌟🌟 3. 对称二叉树 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每…