给Python开发者的一些忠告

学一门编程语言,首先要找到一个适合自己的集成开发工具似乎是很自然的想法。有什么不对?IDE可自动补齐,可一键运行,也可断点调试。利用IDE开发这个项目,就像开一辆内部豪华的车,尽情享受驾驶的乐趣,谁还会关心引擎盖内的引擎是如何工作的?我的年轻同事们也是IDE的拥护者,一开始使用pycharm,后来成为了现在流行的vscode。

但是,我一直认为,编程就像是驾驶,程序员是司机,也是职业司机,不是把开车当作通勤技能的各色白领金领。因为作为职业司机,打着领结、戴白手套驾驶内饰豪华、配置高端轿车是不能满足的,而必须具备打开发动机盖进行维修保养的能力。

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

专注于Python本身,而不是被工具使用问题所困扰。君不见,知乎上关于pycharm和vscode的使用说明、常见问题的解决方案,多得几乎超过了讨论Python本身

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

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

可以更好地使用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 1
 return n*factorial(n-1) # 向递归出口方向靠近的自身调用>>> factorial(5)120>>> _*2-1001401234567891011121314复制代码类型:[python]

小技巧:

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环境的话,需要这样使用pipPS D:\XufiveGit\wxgl> py -3 -m pip install numpy# 删除numpy模块PS D:\XufiveGit\wxgl> py -3 -m pip uninstall numpy# 安装numpy模块,指定版本1.15.0PS 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 listPackage  Version
----------------- -----------
-pencv-python  4.1.1argh  0.26.2attrs 19.1.0Automat  0.7.0basemap  1.2.0beautifulsoup4 4.6.3bleach   3.1.0cefpython3  66.0... ...12345678910111213141516171819202122232425262728复制代码类型:[python]

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

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

相关推荐

  • Python虚拟环境很简单,看完你就会了

    最近有粉丝询问关于Python虚拟环境的一些操作,刚好平时也会涉及到这方面的使用,那么今天咱们就来简单介绍一下吧. 1.基于conda管理虚拟环境 由于笔者常用的是Anaconda,所以这里先介绍基于 ...

  • Py之Scipy:Python库之Scipy库的简介、安装、使用方法详细攻略

    Py之Scipy:Python库之Scipy库的简介.安装.使用方法详细攻略 Scipy库的简介 Scipy高级科学计算库:和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算. ...

  • 学习笔记:发布自己的python模块安装包

    文章目录 0. 前言 1. 准备工作 (1) 注册 pypi.org 用户 (2) 使用 pip 安装或升级几个必备工具 2. 规划文件目录 (1) __init__.py (2) README.md ...

  • pip安装模块使用国内镜像源加速安装

    今天在安装Python模块matplotlib的时候,一直安装不成功,老是提示"socket.timeout: The read operation timed out"或者&qu ...

  • Python使用pip安装Numpy模块

    Python编程学习圈 昨天安装Numpy模块一般有两种安装方法:一:下载模块对应的.exe文件,直接双击运行安装二:下载模块对应的.whl文件,使用pip安装对于exe文件的安装比较简单,都是双击运 ...

  • 2020 Python 开发者调查结果 | JetBrains: Developer Tools f...

    2020 Python 开发者调查结果 这是官方年度 Python 开发者调查的第四次迭代,由 Python Software Foundation 和 JetBrains 共同开展.2020 年 1 ...

  • 2021年Windows成了Python开发者的首选

    以下为译文: 近年来,苹果的笔记本电脑硬件设计决策让我感到非常痛苦,因此我不打算继续在这个平台上开展个人工作了.虽然最新的硬件有所改善,但既然已经做了决定,近期内我都不打算回头了. 我的第一个选择是 ...

  • 2021 年 Windows 成了 Python 开发者的首选

    作者 | Chris Patti 译者 | 弯月 责编 | 欧阳姝黎出品 | CSDN(ID:CSDNnews) 以下为译文: 近年来,苹果的笔记本电脑硬件设计决策让我感到非常痛苦,因此我不打算继续在 ...

  • 5款最受Python开发者欢迎的Python IDE和代码编辑器

    5个Python IDE和文本编辑器的比较 在本文中,我们将介绍5个热门的Python IDE和5个Python文本编辑器.根据您的领域,价格和功能-您将看到最适合您的Python IDE和代码编辑器 ...

  • 专属Python开发者的完美终端工具—Rich

    Rich 是一个 Python 库,可以为你在终端中提供富文本和漂亮.精美的格式. 使用 Rich API 可以很容易的在终端输出添加各种颜色和不同风格.它可以绘制漂亮的表格,进度条,markdown ...

  • 提升Python开发者工作效率的六个库!

    Python是一门高级的编程语言,它可以让我们在很短的时间内利用很少的代码来做很多事情,从而提升我们的工作效率.接下来小编为大家介绍六个常用库,无论你现在是否从事Python开发工作,最好了解一下. ...

  • Python老司机给上路新手的3点忠告

    在你学习编程的过程中,是否有过以下经历,或正在面临类似的局面: 网上找了很多资料,不知道从哪里看起 买了本书,过了很久也没有看完第一章 开始还能跟着写几行代码,后来突然就看不懂了 也看了些教程和视频, ...

  • Python各种各样的包,满足开发者一切需求,从pip包管理工具开始

    Python各种各样的包,满足开发者一切需求,从pip包管理工具开始

  • Python与NodeJS的比较,2020年开发者该如何选择

    随着技术以如此快的速度发展,现在我们有必要选择合适的工具来使用.每个软件项目都有它需要满足的多个需求和规范,因此为了满足这些需求,选择一种编程语言以允许您以有效的方式开发和管理项目非常重要. 由于有许 ...