明确学习目标,不急于求成,不好高骛远

当下是一个喧嚣、浮躁的时代。我们总是被生活中大量涌现的热点所吸引,几乎没有深度阅读和思考的时间和机会。我始终认为,学习是需要沉下心来慢慢钻研的,是长期的;同时,学习不应该被赋予太多的功利色彩。一个 Python 程序员的成长路线图应该是这样子的:

基础语法–>语感训练–>课题练习–>分方向继续学习–>中级程序员–>拓展深度和广度–>高级程序员。

然而,很多新手的学习路线图却是这样子的:学完基础语法之后,不了解 HTML 协议和 Ajax 异步请求,就兴冲冲研究爬虫去了;或者,学完基础语法,就去搞视觉识别,连 OpenCV 的数据结构都看不懂;甚至,学完基础语法就直接研究神经网络,结果是重演了一遍从入门到放弃。

我给初学者的建议就是,不急于求成,不好高骛远,一步一步,稳扎稳打,功到自然成。不急于求成,可以避免走弯路,非但不会延缓你成长的速度,反倒会节省你的时间。不好高骛远,达成一个目标,再制定下一个目标,在连续的成功和进步中,建立起自信心,激发出更强的学习兴趣。

在开始学习 Python 之前,你需要做一些准备Now is better than never,Although never is often better than right now.

这是Python之禅中的一句,翻译过来的意思是,做也许好过不做,但不假思索就动手还不如不做。的确,在开始学习 Python 之前,你需要了解的一些背景,做出一些选择,并在你的计算机上做好准备工作。

Python 的各种发行版

Python 是龟叔的独生子,但他有很多堂兄弟,比较有名的也有好几位。如果你不确定哪个对你更友好,我建议你选择嫡传的 Python——即便你将来需要和他的其他堂兄弟打交道,那也是熟门熟路。不建议初学者选择AnacondaPython 和 ActivePython,在我看来他们提供的便利不如给用户学习带来的麻烦多。

CpythonCPython 属于 Python 参考实现方案,可算是所有其他 Python 衍生发行版的一套标准化版本。CPython 利用 C 语言编写而成,而其编写者包含多位 Python 语言顶级决策层中的核心人员。CPython 在优化方面表现得最为保守。当然,这并不是缺点,而是设计取向。Python 的维护者们希望将 CPython 打造为 Python 最具广泛兼容性与标准化的实现方案。CPython 最适合对 Python 标准的兼容性与一致性要求较高的用户。此外,CPython 同样适用于希望以最基本方式使用 Python并愿意为此放弃某些便捷性的专业人士。

Anaconda PythonAnaconda 源自 Anaconda 公司之手(原名为 Continuum Analytics),其设计目标在于服务那些需要由商业供应商提供支持且具备企业支持服务的 Python 开发者。Anaconda Python 的主要用例包括数学、统计学、工程、数据分析、机器学习以及其他相关应用。Anaconda 捆绑有 Python 商业与科学使用场景当中的各类常用库——包括 SciPy、NumPy 以及 Numba 等等,同时通过一套定制化软件包管理系统提供更多库访问能力。

ActivePython与Anaconda类似,ActivePython同样由营利性企业创建及维护——ActiveState公司。该公司还在销售多种语言运行时以及多语言Komodo IDE。ActivePython主要面向企业用户与数据科学家——即希望使用Python语言,但又不愿把大量精力浪费在Python的组装与管理方面。ActivePython使用Python中的常规pip软件包管理器,但同时亦以认证压缩包的形式提供数百套通用库,外加英特尔数学核心库等其他一些具有第三方依赖关系的公共库。

PyPyPyPy 属于CPython解释器的替代品,其利用即时(JIT)编译以加速Python程序的执行。根据实际执行的任务情况,其性能提升可能非常显著。人们对于Python——特别是CPython的抱怨之声,主要围绕其速度表现展开。在默认情况下,Python的运行速度远不及C语言——差距甚至可能达到数百倍。PyPy JIT将Python代码编译为机器语言,从而带来平均7.7倍于CPython的运行速度。在某些特定任务中,其提速效果能够达到50倍。

JythonJVM(Java虚拟机)能够作为除Java之外的多种语言的运行时选项。这份长的名单包括Groovy、Scala、Clojure、Kotlin、Python以及——没错,当然还有Jython 。Jython最大的弊端在于其仅支持Python的2.x版本。目前对Python 3.x版本的支持能力尚在开发当中,但仍需要相当一段时间。当下,还没有任何相关版本放出。

IronPython类似于Jython的JVM上Python实现方案定位,IronPython属于一套立足.Net运行时——或者CLR(公共语言运行时)——的Python实现方案。IronPython利用CLR的DLR(动态语言运行时)以允许Python程序以等同于CPython的动态水平实现运行。与Jython类似,IronPython目前只支持Python 2.x版本。不过IronPython 3.x实现方案已经处于紧锣密鼓的开发当中。

安装 Python

从 Python 官网下载时,请注意选择正确的版本。如果是用于学习,下载最新版没有问题,如果是用于生产,则要考虑你开发需要的第三方模块是否支持最新版的 Python。安装时不要忘记勾选最下面的两个复选框,否则会给后续的模块安装带来一些麻烦。推荐使用默认方式安装。

选择一款趁手的开发工具

学习一种编程语言,首先要找一款合用的集成开发工具,似乎是自然而然的想法。为什么不呢?IDE可以自动补齐,可以一键运行,还可以断点调试。使用IDE开发项目,就像驾驶一辆内饰豪华的汽车,尽情享受驾驶的乐趣就好了,谁还去关心引擎盖里面发动机是如何工作的呢?我的年轻同事们也都是IDE的拥趸,最初使用pycharm,后来是时下大热的vscode。

可是,我始终认为,编程就像是驾驶,程序员就是司机,而且是职业司机,不是把驾驶当成通勤技能的各色白领金领。既然是职业司机,就不能满足于打着领结、戴着白手套驾驶内饰豪华、配置高端的汽车,而是必须具备打开引擎盖子维修和保养的能力。

基于这个观点,我不建议初学者一开始就使用集成开发工具——至少,在开始第一个星期不要使用IDE。对于Python这样一种解释型的脚本语言,一款趁手的编辑器就足够了。Linux平台上,Vim或者Emacs都足够好(如果你通晓二者或者其中之一的话,请接受我的敬意);Windows平台上,我推荐使用notepad++。Python初学者使用编辑器而非IDE的好处是:专注于Python本身,而不是被工具使用问题所困扰。君不见,知乎上关于Pycharm和VSCODE的使用说明、常见问题的解决方案,多得几乎超过了讨论Python本身

手工运行代码,可以更直观、更深刻地了解脚本的解释执行过程

手工调试代码,有助于代码优化,提高代码把控能力

可以更好地使用pip安装和管理第三方模块

习惯使用IDLE,这是学习Python最好的方式

解释型语言的优势,就是可以写一句执行一句,想到哪儿写到哪儿,不必像编译型语言那样得把程序全部写完,编译成功后才能运行。我特别喜欢使用python的IDLE,甚至拿它当计算器用。很多时候,我用IDLE验证代码的写法是否正确,查看模块是否安装成功以及版本号。IDLE支持tab键自动补齐,我经常用这个功能查看某个对象的方法和属性。

如何安装python3.80_编程零基础应当如何开始学习 Python?为80%迷茫的人指明道路...相关推荐

  1. 编程软件python怎样开始学-编程零基础应当如何开始学习 Python?

    编程零基础应当如何开始学习Python 我觉得每个人学习新东西之前脑海里应该有个大致的地图和路径 比如学习编程,首先脑海里要比较清晰的思考寻找过下面几个问题的答案什么是编程 为什么学编程 编程可以干什 ...

  2. python编程零基础-编程零基础应当如何开始学习 Python?

    看到问题关于<编程零基础应当如何开始学习 Python?>,其实是在Python未来会很火的一个基础条件下,但是我觉得光光说学习Pyhon这件事,你首先得明白三件事: --如何判断你学习编 ...

  3. c语言python零基础教学_编程零基础应当如何开始学习 Python?

    目录 1.学习了解Python的基础知识. 2.安装Python,边学边练. 3.收集资料,作为练习指引. 4.确定学习方向,项目练手. 5.学习过程中要注意多练.多问! 编程零基础选择Python开 ...

  4. 零基础编程入门python视频-编程零基础应当如何开始学习 Python?

    Python很适好入门,尤其对于零基础,但是有些前置知识必须要清楚,不是程序代码计算机之类的认知,但泛舟认为比那些更重要的东西. 首先,为什么要程序?不管是为了完成任务还是为了炫耀技术还是为了什么,它 ...

  5. python是什么编程教程-编程零基础应当如何开始学习 Python?

    刚开始一定是从基础开始,下面是一些基础部分的知识点:环境变量的安装与配置 Python的变量:数字.字符串.字典.列表.元组 流程控制:程序执行顺序.顺序执行.选择执行.循环执行 函数:函数定义.函数 ...

  6. python如何编程-编程零基础应当如何开始学习 Python?

    这个问题下面这么多人推荐了这么多 Python 资源,估计零基础新手看到了会眼花缭乱吧. 作为非计算机专业出身.自学编程的过来人,我知道想找到一份适合自己的入门教程不容易.不如就在这里分享一下,如何鉴 ...

  7. Python学习入门3:编程零基础应当如何开始学习Python?

    零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有比较多的学校使用python作为入门编程语言. 具体怎么选择你的第一门编程语言可以看下图: ...

  8. 零基础学python尹会生_编程零基础应当如何开始学习 Python?

    这是一篇小白自学Python的经验,针对没有任何经验.从零开始学习Python的童鞋,不管你是出于兴趣,还是想提升工作效率,或者想要转行,都可以作为一个参考. 作为过来人,先分享几点建议给你: 1.找 ...

  9. 零基础学python知乎-编程零基础应当如何开始学习 Python?

    这个问题下面这么多人推荐了这么多 Python 资源,估计零基础新手看到了会眼花缭乱吧. 作为非计算机专业出身.自学编程的过来人,我知道想找到一份适合自己的入门教程不容易.不如就在这里分享一下,如何鉴 ...

最新文章

  1. [云炬创业基础笔记]第十章企业的利润计划测试2
  2. k8s kubebuilder系列开发 — 编写自定义资源和Reconciliation循环
  3. gwt 嵌入html_GWT和HTML5画布演示
  4. LDAP命令介绍---verify-index--验证索引
  5. 利用win7系统自身修复还原功能
  6. Codeforces Round #321 (Div. 2) B. Kefa and Company 二分
  7. Spring MVC学习笔记(七)
  8. Win7 + VS2015 + CMake3.6.1-GUI + Makefile 编译开源库
  9. FFA 2021 专场解读 - 开源解决方案 / 流批一体
  10. php调用纯真ip,PHP调用纯真IP数据库返回具体地址
  11. 特立独行的幸福(25分)Python
  12. vue v-for遍历动态展示元素数量
  13. ECMAScript6常用语法
  14. 新手如何看k线(图)
  15. cf四大战区合区列表?
  16. 夜来风雨声,“网络”知多少?
  17. android 代码规范检测工具,Android 代码规范之Inspection 定制
  18. centos允许远程连接mysql_centos7 mysql允许远程连接设置
  19. python中的%s%是什么意思
  20. **关于电子海图(S-57 (ENC)转换shp 格式**

热门文章

  1. selenium实现12306购票
  2. iozone 安装使用
  3. python word表格嵌套_python word解析 嵌套表格
  4. 【067期】面试官问:说说常见的加密算法、原理、优缺点及用途?
  5. 微信小程序-小程序天气页面对接和风天气API实例
  6. CTFShow Web入门_信息搜集
  7. 如何在本地调试微信公众号授权获取code
  8. Linux防火墙配置白名单操作(包括Ubuntu、ContOS、Redhat)
  9. 并行程序设计实验——高斯消元
  10. Rust能力养成之(3):强化分支