给 python 初学者的四条忠告

作者:天元浪子

本文链接:

https://blog.csdn.net/xufive/article/details/102709538

编辑:JAVAandPython君

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 1  return n*factorial(n-1) # 向递归出口方向靠近的自身调用
>>> factorial(5)120>>> _*2-100140

小技巧:

  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环境的话,需要这样使用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

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

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

本文分享自微信公众号 - JAVAandPython君(JAVAandPythonJun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程之心

会写 Py 脚本,就能开发机器学习工具!

Streamlit是第一个专门针对机器学习和数据科学团队的应用开发框架,它是开发自定义机器学习工具的最快的方法,你可以认为它的目标是取代Flask在机器学习项目...

12250
来自专栏GitHubDaily

如何从零开始,自学成为一名数据科学家?

导读:如何通过免费方式学习数据科学?数据科学家 Rebecca Vickery 从技术能力、理论和实践经验三个方面入手介绍了自己的经验。

7210
来自专栏云技术+云运维

python常用的几种GUI解析

在Python中,开始使用GUI编程的步骤并不复杂,但是它们要求用户开始做出一些选择。作为通用编程语言,每个常见操作系统都有可用的解释器,所以创建图形用户界面对...

8620
来自专栏一番码客

electron打包爬坑—出坑

昨天一番解了很久想解这个electron打包python可执行文件为一体的方法,因为要发布我们的小工具,必须要打包为一个安装包啊,不然对于计算机小白来讲太不友好...

48910
来自专栏GitHubDaily

英伟达小姐姐开源 Python 隐藏技巧,上了 GitHub 热榜!

转自量子位,作者栗子 常常发资源的英伟达工程师小姐姐 Chip Huyen,又发射了一套 Python 隐藏功能合集。

8210
来自专栏一番码客

electron开发pdf合并工具(三)

前言python打包python代码vue中调用python打包后程序遗留问题一番今日

6030
来自专栏授客的专栏

python 装饰器使用总结

def wrapper_method1(func):# func用于接收被装饰的函数地址

8740
来自专栏窗户

闭包还可以这样写?谈谈少儿编程工具的实现思路

  看看这段代码,很明显,是列举出100以内所有的质数。类似这样的程序我们从学程序开始写过很多。

6410
来自专栏云技术+云运维

PyQt5+python3+pycharm开发环境配置

官方网站:http://www.riverbankcomputing.com/software/pyqt/download5

5610
来自专栏一番码客

electron打包爬坑

一番前面用electron+nodejs+vue+python开发了一个pdf合并工具,现在的情况是:

12310

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励