1. 不要纠结于开发工具的选择,简单直接就是最好的

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

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

基于这个观点,我不建议初学者一开始就使用集成开发工具。对于python这样一种解释型的脚本语言,一款趁手的编辑器就足够了。linux平台上,vim或者emacs都足够好(如果你通晓二者或者其中之一的话,请接受我的敬意);windows平台上,我推荐使用notepad++。python初学者使用编辑器而非IDE的好处是:

  1. 专注于python本身,而不是被工具使用问题所困扰。君不见,知乎上关于pycharm和vscode的使用说明、常见问题的解决方案,多得几乎超过了讨论python本身
  2. 手工运行代码,可以更直观、更深刻地了解脚本的解释执行过程
  3. 手工调试代码,有助于代码优化,提高代码把控能力
  4. 可以更好地使用pip安装和管理第三方模块

2. 习惯使用IDLE,这是学习python最好的方式

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

>>> import numpy as np
>>> np.__version__
'1.17.0'
>>> np.hypot(3,4)
5.0
>>> def factorial(n): # 计算n的阶乘if n == 0: # 递归出口return 1return n*factorial(n-1) # 向递归出口方向靠近的自身调用>>> factorial(5)
120
>>> _*2-100
140

小技巧

  1. tab键自动补齐
  2. 光标移动到执行过的语句上敲击回车,可以重复这个命令
  3. 下划线(_)可以获取最后一次执行结果

3. 关于python,你不是懂得太少,而是知道得太多了

很多 python 初学者热衷于观看各种网络教程、视频教程,甚至还做了很多笔记。经过了长时间的学习之后,发现自己还是无法驾驭python。在我看来,出现这个问题的原因,不是因为他们懂得太少,而是知道得太多了——准确说,是在初级阶段学习了高级阶段的课程。

学习是一个循序渐进的过程,而编程又一门实践性很强的艺术,因此学习编程需要不断地重复“学习-实践”。不要认为跟着教程敲几行代码就叫实践,那还是学习的过程。真正的实践,就是写一个让自己满意的代码,实现一个独立的功能。比如,初学者可以实现从一个文本文件读出内容,做些特别处理,再写入另一个文件,或者写一些算法函数等。有一定基础之后,可以写一个socketserver,或者写个小游戏。下图是我学习wxpython时给自己确定的实践目标。类似的,初学者应该可以想到更多。

4. pip已经近乎完美,但你未必完全了解

在python语言的发展过程中,安装和管理第三方模块的方法也历经变化。现在,我们终于等来了pip这个近乎完美的工具。pip除了安装(install)和删除(uninstall)这两大功能,还可以指定模块的安装版本(无需预先删除当前已安装版本),可以显示所有已安装的模块,还可以通过upgrade自主升级。

# 安装numpy模块
PS D:\XufiveGit\wxgl> pip install numpy# 如果同时安装了py2和py3环境的话,需要这样使用pip
PS D:\XufiveGit\wxgl> py -3 -m pip install numpy# 删除numpy模块
PS D:\XufiveGit\wxgl> py -3 -m pip uninstall numpy# 安装numpy模块,指定版本1.15.0
PS D:\XufiveGit\wxgl> py -3 -m pip install numpy=1.15.0# 自主升级
PS D:\XufiveGit\wxgl> py -3 -m pip install --upgrade pip# 显示已安装的模块
PS D:\XufiveGit\wxgl> py -3 -m pip list
Package           Version
----------------- -----------
-pencv-python     4.1.1
argh              0.26.2
attrs             19.1.0
Automat           0.7.0
basemap           1.2.0
beautifulsoup4    4.6.3
bleach            3.1.0
cefpython3        66.0
... ...

pip也用来安装本地whl文件:

PS D:\PyPackage\py3> py -3 -m pip install .\basemap-1.2.0-cp37-cp37m-win_amd64.whl

如果你需要下载python模块,这里是我见过的最全、最稳定的python模块仓库,由加州大学欧文分校荧光动力学实验室创建并维护。

如果你的很多个项目中,都会用到你自己的某些模块,那么,把这些模块做成安装包,安装到你的开发环境里,可能是最佳选择。拙作《学习笔记:发布自己的python模块安装包》对此有详细说明。

后记

近期有很多朋友通过私信咨询有关Python学习问题。为便于交流,我在CSDN的app上创建了“Python作业辅导”大本营,面向Python初学者,为大家提供咨询服务、辅导Python作业。欢迎有兴趣的同学使用微信扫码加入。

从博客到公众号,每一篇、每一题、每一句、每一行代码,都坚持原创,绝不复制抄袭,这是我坚守的原则。如果喜欢,请关注我的微信公众号“Python作业辅导员”。

给 python 初学者的四条忠告相关推荐

  1. 给 python 初学者的四条忠告_给 python 初学者的四条忠告,python初学者

    给 python 初学者的四条忠告,python初学者 1. 不要纠结于开发工具的选择,简单直接就是最好的 学习一种编程语言,首先要找一款合用的集成开发工具,似乎是自然而然的想法.为什么不呢?IDE可 ...

  2. 给 python 初学者的四条忠告_给 python 初学者的四条忠告-Go语言中文社区

    1. 不要纠结于开发工具的选择,简单直接就是最好的 学习一种编程语言,首先要找一款合用的集成开发工具,似乎是自然而然的想法.为什么不呢?IDE可以自动补齐,可以一键运行,还可以断点调试.使用IDE开发 ...

  3. python 删除断点_给python 初学者的四条忠告,减少一些没必要的麻烦

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进击者 1. 不要纠结于开发工具的选择,简 ...

  4. 给 python 初学者的四条忠告_给python 初学者的四条忠告,减少一些没必要的麻烦...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进击者 ( 想要学习Python?Pyth ...

  5. 给 Python 开发者的四条忠告!| CSDN 博文精选

    作者 | 天元浪子 责编 | 屠敏 出品 | CSDN博客 不要纠结于开发工具的选择,简单直接就是最好的 学习一种编程语言,首先要找一款合用的集成开发工具,似乎是自然而然的想法.为什么不呢?IDE可以 ...

  6. python 删除断点_给 Python 开发者的四条忠告!强烈建议收藏

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 天元浪子 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  7. php大牛应该掌握的技术,一个编程大牛给PHP初学者的50条忠告

    0.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数" ...

  8. python预测新航线的票价_浙江长龙航空有限公司四条新航线(线路+票价)

    新航线开通时间:4月5日 新开通航线线路:杭州-郑州.杭州-洛阳-成都.杭州-赤峰-哈尔滨.深圳-临沂-哈尔滨 对应航班及时刻: 1.杭州-郑州航线去程航班号为GJ8767,7:00从杭州起飞,8:1 ...

  9. python四条折线统计图_人教新课标数学四下:单式折线统计图 教案

    教学目标: (一)知识与技能 认识折线统计图,知道其特征,能正确读懂折线统计图,并能根据数据把统计图补充完整. (二)过程与方法: 从折线统计图中发现数学问题,同时能够依据数据变化的特征进行一些合理的 ...

最新文章

  1. 安卓开发笔记——自定义广告轮播Banner(实现无限循环)
  2. 算法之【仿竖式算法】
  3. php manager如何安装目录,宝塔面板安装OneManager-php – Onedrive的列表索引和管理程序...
  4. 【Android应用开发】EasyDialog 源码解析
  5. hdfs源码分析第二弹
  6. linux 初始化内存管理_Linux内存管理第二章 -- Describing Physical Memory
  7. Dubbo环境搭建-管理控制台dubbo-admin实现服务监控
  8. linux之dig命令
  9. linux 查看主机版本,Linux下如何查看版本信息的方法步骤
  10. STM32F103:三.(3)MPU6050
  11. 《SolidWorks 2013中文版完全自学手册》——2.5 添加几何关系
  12. linux文件查找-find和locate
  13. Inno Setup for Windows service
  14. 电脑计算机为什么不是有效程序,电脑提示“不是有效的win32应用程序”是什么原因【解决方法】...
  15. django 设置媒体url_django-文件上传Media url的配置
  16. 当我们在谈论瑞幸咖啡的时候,我们谈论什么?
  17. 客户端,从服务器上下载文件流程
  18. 电感器的正确测量电感同BuH的关系
  19. Conflux v2.2.0 网络 Hardfork 升级公告
  20. HDU - 3594 Cactus (强连通缩点+STL)

热门文章

  1. 使用libmodbus读传感器流程
  2. excel怎么设置自动计算_61份电气自动计算表,excel函数输入数据秒出精准结果,限时分享...
  3. 虚拟机安装Ubuntu与Hadoop
  4. 多个绝对值相加求最大值问题_多个绝对值相加求最值问题
  5. 搭建一个Fabric网络
  6. python中id函数的用法_Python中的id()函数
  7. 解读明略数据的“猎鹰重型”——2018“行星计划”
  8. 初学C语言,有什么好书推荐?
  9. 特斯拉、蔚来、小鹏三款主流智能驾驶产品测评
  10. 支持多种格式的播放器代码