作者 | 天元浪子
责编 | 屠敏
出品 | CSDN博客
不要纠结于开发工具的选择,简单直接就是最好的
学习一种编程语言,首先要找一款合用的集成开发工具,似乎是自然而然的想法。为什么不呢?IDE可以自动补齐,可以一键运行,还可以断点调试。使用IDE开发项目,就像驾驶一辆内饰豪华的汽车,尽情享受驾驶的乐趣就好了,谁还去关心引擎盖里面发动机是如何工作的呢?我的年轻同事们也都是IDE的拥趸,最初使用pycharm,后来是时下大热的vscode。
可是,我始终认为,编程就像是驾驶,程序员就是司机,而且是职业司机,不是把驾驶当成通勤技能的各色白领金领。既然是职业司机,就不能满足于打着领结、戴着白手套驾驶内饰豪华、配置高端的汽车,而是必须具备打开引擎盖子维修和保养的能力。
基于这个观点,我不建议初学者一开始就使用集成开发工具。对于python这样一种解释型的脚本语言,一款趁手的编辑器就足够了。linux平台上,vim或者emacs都足够好(如果你通晓二者或者其中之一的话,请接受我的敬意);windows平台上,我推荐使用notepad++。python初学者使用编辑器而非IDE的好处是:
  1. 专注于python本身,而不是被工具使用问题所困扰。君不见,知乎上关于pycharm和vscode的使用说明、常见问题的解决方案,多得几乎超过了讨论python本身

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

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

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

习惯使用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. 下划线(_)可以获取最后一次执行结果

关于Python,你不是懂得太少,而是知道得太多了
很多 python 初学者热衷于观看各种网络教程、视频教程,甚至还做了很多笔记。经过了长时间的学习之后,发现自己还是无法驾驭python。在我看来,出现这个问题的原因,不是因为他们懂得太少,而是知道得太多了——准确说,是在初级阶段学习了高级阶段的课程。
学习是一个循序渐进的过程,而编程又一门实践性很强的艺术,因此学习编程需要不断地重复“学习-实践”。不要认为跟着教程敲几行代码就叫实践,那还是学习的过程。真正的实践,就是写一个让自己满意的代码,实现一个独立的功能。比如,初学者可以实现从一个文本文件读出内容,做些特别处理,再写入另一个文件,或者写一些算法函数等。有一定基础之后,可以写一个socketserver,或者写个小游戏。下图是我学习wxpython时给自己确定的实践目标。类似的,初学者应该可以想到更多。
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模块安装包》(https://blog.csdn.net/xufive/article/details/88640229)对此有详细说明。
版权声明:本文为CSDN博主「天元浪子」的原创文章。
想为博主点赞?
想要请教博主?
扫描下方二维码,快速获取与博主直面沟通的方式吧!

 热 文 推 荐 

给 Python 开发者的四条忠告!| CSDN 博文精选相关推荐

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

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

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

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

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

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

  4. 给 python 初学者的四条忠告

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

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

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

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

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

  7. 8 年经验面试官解读程序员的技能瓶颈,以及突破瓶颈的忠告 | CSDN 博文精选

    作者 | 胡书敏 责编 | 伍杏玲 出品 | CSDN博客 我在做技术面试官的时候,面试对象大多数是初级开发和高级开发,偶尔也会面试架构师.我发现,IT人的工资固然和相关技术的使用年限有关,但如果候选 ...

  8. 物联网 ToB 的背后,开发者应了解什么?| CSDN 博文精选

    作者 | 方文 责编 | 伍杏玲 物联网 ToB 解决方案打开数字化转型市场 随 IoT 建设的深入,行业内对物联网解决方案的划分也渐进清晰,如生活物联网.智慧农业.智慧制造.智慧城市.智慧园区等. ...

  9. Python实现五子棋人机对战 | CSDN博文精选

    作者 | 吴小鹏 来源 | 数据札记倌(ID:Data_Groom) 五子棋是常见的一款小游戏,五子棋问题是人工智能中的一个经典问题.这篇文章主要介绍了Python版本五子棋的实现代码,大家可以做个参 ...

最新文章

  1. 图论--DFS-SPFA求负环
  2. 实现一个包含Microsoft.Advertising和SmartMad广告控件的UserControl
  3. springmvc教程--快速入门教程
  4. Laravel 用户认证与登陆
  5. Linux如何进入微服务看日志,Linux日志查找与服务器重启
  6. 利用Python爬取网易上证所有股票数据(代码
  7. 拳王虚拟项目公社:免费虚拟副业项目,创业副业首选虚拟资源平台转化虚拟资源池
  8. python函数调用的例子_Python案例|混用C函数
  9. MySql Odbc等驱动下载地址分享下
  10. Thinking in Java 11.10 Map
  11. DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
  12. React Native重构路线图发布!
  13. 【Windos】c盘怎么清理到最干净,深度清理C盘空间
  14. java delayqueue_详解java中DelayQueue的使用
  15. Notepad++取消去除文字下面的红色波浪线
  16. python创建简单网站
  17. python爬虫之QQ空间登陆获取信息(超级详细)
  18. Castaways钓鱼还能参与么,数据来告诉你答案
  19. 线上支付、线下支付的功能对比
  20. win 10使用模拟器蓝屏解决方案

热门文章

  1. [VNC] 云服务器 Ubuntu 18.04 安装 Xfce4 桌面并配置 VNC
  2. 矩池云上加速下载GitHub文件办法
  3. blob类型_MySQL:创建表时如何选择合适的字段类型
  4. openVINO2021.4安装记录
  5. android 高仿京东首页,android 粗略的 仿京东首页 嵌套方式滚动
  6. Ubuntu18.04构建Go语言项目
  7. 2021-2025年中国电子风扇速度控制器行业市场供需与战略研究报告
  8. .net mvc ajax重定向,如何在MVC3 JQuery的Ajax调用重定向到新的页面(连同模型)(How to redirec...
  9. rsa 2048 java_使用SHA-256和RSA 2048进行加密和签名
  10. “我曾经的小项目比我在软件行业十年产生的影响还要大”