《Python数据科学实践指南》一1.4 使用Python shell调试程序

简介: Python shell不仅为Python初学者提供了一个方便的入门工具,更是提高了专业程序员和数据科学家们的生产力。比如在编写程序时忘记了某个表达式的写法,可以打开Python shell,在里面调试好了之后再写入程序。

本节书摘来自华章出版社《Python数据科学实践指南》一书中的第1章,第1.4节,纪路 著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 使用Python shell调试程序

Python shell不仅为Python初学者提供了一个方便的入门工具,更是提高了专业程序员和数据科学家们的生产力。比如在编写程序时忘记了某个表达式的写法,可以打开Python shell,在里面调试好了之后再写入程序。或者直接在Python shell中探索原始数据文件中的数据,变换数据的结构,执行计数、去重、分组等操作。并且可以随时查看前辈们留给我们的建议,比如在Python shell中输入import this,将导入Python中一个名为this的模块:

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>>

大意是:

Python 之道
美丽优于丑陋
明确优于晦涩
简单胜于复杂
复杂胜于混乱
平铺胜于嵌套
稀疏胜于紧凑
可读性很重要
尽管实用性很重要,但也不能破例违背上述原则
绝不让错误无声无息,除非你想这么做
面对模棱两可时,不要妄想猜测能解决问题
应该只有一种最适合的,且显而易见的解决方案
可能这种方案一开始并不那么显而易见,因为你不是Python之父
做比不做强,但是随意做还不如不做
很难向别人解释的方案是不好的
很容易向别人解释的方案也许是好的

命名空间是一个令人拍手称赞的好点子,让我们善加利用
通过上面的例子,我们已经知道了Python中模块的概念,模块是Python中最大的代码单位,以后我们还会学到文件、函数、语法块等不同级别的Python代码单位。在一个Python的模块中可能会包含一个到多个不同的功能,Python中随解释器一起分发的标准模块有300多个,可以应付绝大多数的编程任务,也确实有些程序员坚持只使用标准库提供的模块。不过本书提倡的是另外一种编程的哲学,即“不要重复造轮子”,只要某一个功能已经被别人实现为模块了,那么最好拿来就用,而不是自己重新编写。所以我们会安装很多第三方模块,这些模块也是非常优秀的,只是还没有被收录进官方的标准模块中,也是基于此,下面将使用pip来安装第三方模块。不过,根据操作系统的不同,安装方式也略有区别,如果读者使用Mac或Linux系统,那么按照之前的教程并没有经历安装Python解释器的步骤,因此这里需要读者确认一下自己的Python版本。可以在终端输入python,比如:

$ python
Python 2.7.11 (default, Jan 28 2016, 13:11:18) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

在输出的第一行Python代码之后,由点号分隔的部分就是Python的版本,例如上述代码中显示的版本是2.7.11。如果你的Python版本为2.7.9或高于该版本,那么你无须任何操作就已经拥有了pip程序,可以在终端中输入pip尝试一下,会有类似下面的输出:

$pip

Usage:   
  pip <command> [options]

Commands:
  install                    Install packages.
  download                   Download packages.
  uninstall                  Uninstall packages.
  freeze                     Output installed packages in requirements format.
  list                       List installed packages.
  show                       Show information about installed packages.
  search                     Search PyPI for packages.
  wheel                      Build wheels from your requirements.
  hash                       Compute hashes of package archives.
  completion                 A helper command used for command completion
  help                       Show help for commands.

如果很不幸你的Python版本号低于2.7.9,那么需要手动安装pip,可以在网址https://bootstrap.pypa.io/get-pip.py中下载安装脚本。
将脚本下载到某一个目录中,然后使用下面的命令进行安装:
$sudo python get-pip.py
由于Mac系统和Linux系统权限的要求,这一步需要你输入电脑的开机密码。
对于Windows系统来说,如果是参考本书的安装方式进行安装的,那么你已经获得了最新版本的Python,也就表示你已经拥有了pip,可以直接使用。
使用pip安装Python的第三方模块非常简单,比如我们要安装requests这个第三方模块,可以使用下面的命令:
$pip install requests
一般来讲,Windows的用户直接运行这个命令就可以安装了,而Mac或Linux用户由于系统权限的原因需要在命令的最前方增加sudo这个命令,代码如下:
$sudo pip install requests
以后的章节中将不再强调这一区别,请读者根据自己的系统使用相对应的命令。另外有一部分因为历史原因,第三方库是使用C语言编写的,因此很可能还需要你的电脑上装有C/C++编译器。对于Mac和Linux来说,就是GCC编译器,对于Windows来说则是Visual Studio。
在上述过程的实践中,大家可能会遇到各种各样的问题,本书无法穷尽所有可能会遇到的问题,所以当遇到具体的问题时应当尽量求助于搜索引擎。关于使用搜索引擎,笔者自己有一条最基本的原则:我不可能是第一个遇到该问题的人!只要遵守这个原则,绝大多数情况下都能找到令人满意的答案。

相关文章
|
10天前
|
缓存 Shell 开发工具
[oeasy]python064_命令行工作流的总结_vim_shell_python
本文总结了命令行工作流中的关键工具和操作,包括vim、shell和Python。主要内容如下: 1. **上次回顾**:完成了输入输出的代码编写,并再次练习了vim的使用。 2. **shell基础**:介绍了shell环境及其基本命令,如`pwd`、`cd`、`ll -l`等。 3. **Python游乐场**:通过`python3`命令进入Python交互环境,可以进行简单计算和函数调用,常用函数有`help`、`ord`、`chr`等。 4. **vim编辑器**:详细讲解了vim的三种模式(正常模式、插入模式、底行命令模式)及其切换方法,以及常用的底行命令如`:w`、`:q`、`
57 15
|
28天前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
56 20
|
1月前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
64 12
|
3月前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
69 0
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
Python在数据科学中的应用:从数据处理到模型训练
Python在数据科学中的应用:从数据处理到模型训练
|
3月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。
|
3月前
|
机器学习/深度学习 数据可视化 数据处理
Python数据科学:从基础到实战
Python数据科学:从基础到实战
58 1
|
3月前
|
机器学习/深度学习 数据可视化 数据处理
Python在数据科学中的应用###
本文探讨了Python语言在数据科学领域的广泛应用及其重要性。通过分析Python的简洁语法、强大的库支持和跨平台特性,阐述了为何Python成为数据科学家的首选工具。文章还介绍了Python在数据处理、分析和可视化方面的具体应用实例,展示了其在提升工作效率和推动科学研究方面的巨大潜力。最后,讨论了未来Python在数据科学领域的发展趋势和挑战。 ###

热门文章

最新文章

推荐镜像

更多