胶水PythonPython小推车

Python基础2: 基础知识和使用

2018-12-19  本文已影响45人  爱折腾的大懒猪
  • 什么是python
  • Python学习资料
  • Python的使用
  • pip, IPython, Jupyter

什么是Python

Python是一门简单而功能强大的编程语言,常用于日常工作脚本编写、网站搭建、简单程序开发等等。Python有以下特点:

  1. 语言简单。Python的语法十分便于人的理解,即使一段时间没有使用,你也不会忘记。
  2. 功能强大。Python语言自诞生起一直活跃于IT界和学术界当中,其基础语法虽然简单,但具有相当丰富的标准库和扩展库,使得其功能十分强大!无论是数据分析处理、大数据和机器学习、网站构建等,他都活跃在一线。作为现代化语言,Python是支持面向对象的语言(额,面向对象是啥?)。
  3. 解释性语言。Python作为一门脚本语言,可以进行动态的输入和交互,这便于用户边写边调试!
  4. 免费开源。作为十分强大的工具,Python是开源免费试用的!源代码是开放的!
  5. 可移植性。Python由于开源的特性,被广泛移植到各种平台中。你所编写的程序很多时候不需修改就能在各种系统中运行(Window、Linux、Mac、Android甚至你的游戏机。)

Python由于语言简易,扩展库丰富,尤其适用于快速的应用程序开发,对于日常文件快速处理、小型功能程序等都等都属于首选语言。现在很多流行的机器学习和大数据的方法都使用了Python作为语言, 随着所谓大数据和AI变热, Python成为了极度popular的语言.

但Python不是无敌的。Python作为解释性语言,其运行速度相对C/C++等编译性编程语言要慢。因此,作为大型程序(运算量大,处理数据极多等情况也是)开发时,Python并不合适(例如王者荣耀就不能用Python开发啦,但王者荣耀的数据分析就可以用Python进行分析)。很多计算量大的方法在python使用时实际是应用c/c++进行底层编译后的库, python只是强大的胶水, 沟通底层库和人们的日常操作.

Python的中文意思是蟒蛇,所以可以看到其很多图标是蛇~

解释性语言我们也常叫脚本语言。
在C/C++等编译性语言中,需要先将源代码(我们写的代码)编译为计算机语言(就是二进制代码,我们平时双击的exe可执行文件就是经过编译后的文件)。当我们每次修改源代码,想测试一下,均需要对源代码进行编译,再测试,这就比较麻烦了。而且编译经常出错哦!
但是Python这类解释性语言,并不需要经过编译为二进制代码一步。你可以直接从源代码直接运行程序,这就十分方便你运行调试和移植程序了!

Python流行的有两个大版本:2.X和3.X,在很多系统中(如Mac和Linux)均自带Python2.X,但较新版本3.X功能更强大,而且在不停发展。2.X和3.X有一定的语法区别,这里使用旧版的2.X的(因为我没有仔细去学过3.X~~),有兴趣可以去看看2.X和3.X区别再进一步学习3.X版本。

Python 2.7.x 和 3.x 版本的重要区别
知乎:Python 2 和 Python 3 有哪些主要区别?

Python的学习资料

Python的入门书籍有很多, 进阶和扩展的就更多了. 纷繁的入门书籍其实都差不多, 有讲故事一样慢慢讲的 (适合无编程基础新手), 有从语法细节分析展开的 (适合有编程基础, 转学python). 看了很多书, 最适合新手入门的是《简明Python教程》,该书原英文版为由 Swaroop C H 编写的《A Byte of Python》,被广泛用于美国大学的Python入门。。

《简明Python教程》是真的简, 有心思看的话一天就能看完, 毫无编程基础的估计一周也能掌握好. 看完《简明Python教程》掌握了基础后可以选择其他入门书籍进行进一步的学习,例如《Python基础教程》、Python编程:从入门到实践深入 Python :Dive Into Python 中文版等。参数书中带有《Python参考手册》, 这是本不错的查阅参考书。
更多的教程, 可以参考知乎: Python教程

官方参考资料和文档也是不错的学习资料, 适合查阅和深入学习:

非官方的参考手册还有: 在线手册中心, 收集整理了大量 Python 流行技术文档和教程.

Python入门网上教程

这里有些网站可以去学习和使用:

其实资料很多, 对于入门, 看熟简明基础教程, 再上机多练习就足够了!
随后, 可以找一个详细一点的教程进行深入点的学习!
有很多知识点, 是要在实践中慢慢掌握的!

python的使用

在上一篇 Python基础1: 安装程序与环境 中已经介绍了基础的Python安装和调用 (包括安装Shell以及编辑器), 应该了解到运行Python有两种基本模式: 交互模式源文件运行, 在基于ipython的Jupyter的帮助下, 还可以实现代码块运行以及网页应用运行, 这些都是后话了.

IDLE运行源文件
  • IDLE还有很多功能, 例如支持补全, 调用提示, 回顾命令, Debug模式, 堆栈查看, 类查看, 内容查找,模块运行,重启shell等等. 但不建议过多学习其使用, 因为你最后都会选择别的工具代替他.
  • 使用IDLE进行交互要比直接python命令要强大, 例如支持按tab键补全输入, 而python命令进入交互则不支持. ipython支持补全, 还有更方便的查看历史(IDLE需要alt+p/n). 如果只是简单的交互命令, ipython > IDLE > python.
  • 如果运行一段代码, Jupyter Notebook或类似IDE(Spyder或VS Code)是不错的选择; ipython也可以, 但不太好改内容; idle更弱, 或者需要新建文件来运行.
  • 如果测试源文件, IDE是不错的选择(包括VS Code, IDLE等), 直接用命令行来测试也是可以的python 源文件.pyipython 源文件.py. 但如果输出为图片, 则VS Code, Spyder等使用Jupyter效果更佳.
  • 如果输出为图片查看, 基于Jupyter的效果会更佳 (如Notebook, VSCode, Spyder, IPython QTconsole等), IDLE无法显示, 命令行(python/ipython)也无法显示.
Jupyter直接显示Matplotlib图片结果

pip, ipython, jupyter

上面提到了多次ipythonJupyter, 这里就介绍安装和简单的使用. 更复习的使用需要另外的资料. 先介绍pip, ipython, jupyter分别是什么.

pip的安装

在默认情况下, pip已被安装 (Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具)。在命令行输入pip -V可以查看版本(pip不能运行但python能运行时, 可以尝试python -m pip -V, 如果依然不能查看pip版本号, 那么可能pip没有安装或者C:\Python27\Scripts没有加入到搜索路径(环境变量Path).

pip install SomePackage              # 最新版本
pip install SomePackage==1.0.4       # 指定版本
pip install 'SomePackage>=1.0.4'     # 最小版本

试一试: 安装几个常用的基础包: numpy, scipy, pandas, matplotlib

ipython和jupyter的安装

## 安装ipython和jupyter, 中间空格隔开可以同时装多个包
pip install ipython jupyter
## 待下载安装完成......

## 测试ipython, 输入exit或者按 ctrl+C 退出交互模式
ipython
## 测试jupyter notebook
jupyter notebook
## 如果没有在浏览器弹出notebook, 请在浏览器输入以下网址:
## localhost:8888
## 8888是使用的端口, 在多次使用notebook时端口号会递增, 根据实际情况调用
运行ipython

成功运行ipython后界面如上所述. ipython究竟有什么好呢? 可以在里面输入几个print "Hello World",a=123*456之类的命令.

调用提示

好了, 以后使用 命令行+ipython 代替IDLE进行交互吧!


运行Jupyter Notebook

运行Notebook可以使用jupyter notebook, 也可以使用jupyter-notebook. 成功打开后如下图, 并会自动打开浏览器转入到notebook. Window安装的话没有jupyterlab (可以使用Anaconda来安装吧). Notebook的使用以后再介绍了.

运行Jupyter Notebook

注意 : Windows里需要Shift+右键打开命令行窗口(dos窗口), 再输入该命令. 经测试使用 Git for Windows运行会报错如下, 同编码有关.

  File "c:\python27\lib\site-packages\traitlets\config\application.py", line 377, in   print_subcommands
      print(os.linesep.join(lines))
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)
Jupyter Notebook

在浏览器可以看到Notebook类似于上图. 其中一个框内可以输入多行代码, 按Ctrl+Enter或按上面的Run来运行一段代码. 这种输入一段代码的框称为Cell, Cell是运行代码块的单元. 按+号可以添加多个Cell. 更多Notebook的使用请自行探索或参看别的教程.

试一试 : 如果安装了matplotlib模块, 可以试试输入以下代码运行:

import matplotlib.pyplot as plt
%matplotlib inline
plt.plot([1,2,3,4])
plt.show() # show figure

总结

上一篇下一篇

猜你喜欢

热点阅读