第1章 - Python3 介绍.md

第1章 - Python3 介绍

Python是一种介于C和Shell之间的功能全面、易学易用、可扩展的语言。数据处理方面有如下优势:

  1. 异常快捷的开发速度,代码量少
  2. 丰富的数据处理包,无论是正则,还是HTML解析、XML解析,使用方便。
  3. 内部类型使用成本很低,不需要许多额外操作(Java、C++用一个Map都很麻烦)
  4. 编码问题处理方便
  5. 大数据,往往需要处理数据的框架(如Hadoop)。Python虽然小众,但是有处理大数据的框架。一些框架也支持Python。

1.1 从2.7到3.5的新特性

目前,Python有两个版本,一个是2.x,一个是3.x。两个版本是不兼容的两个版本主要区别如下:

  1. 使用future模块:Python 3.x引入了一些与Python 2不兼容的关键字和特性。在Python 2中,可以通过内置future模块倒入这些新内容。
  2. print函数:Python 2中的pring语句背pring()函数取代,必须用括号将需要输出的对象括起来。
  3. 整数除法:由于人们常常会忽视Python 3在整数除法上的改动(写错不会触发SyntaxError错误)
  4. Unicode:Python 2有基于ASCII的str()类型,可通过单独的unicode()函数转成unicode类型,但没有byte类型。在Python 3中有了Unicode(UTF-8)字符串和两个字节类(byte和bytearrays)
  5. xrange:在Python 2.x中,经常会用xrange()创建一个可迭代对象,通常出现"for 循环"或"列表/集合/字典推导式"中,在Python 3中,range()的实现方式与xrange()函数相同,所以移除了xrange()
  6. 触发异常:Python 2支持新旧两种异常触发语法。而Python 3只支持带括号的语法(不然会触发SyntaxError)
  7. 处理异常:Python 3重的异常处理发生了一点变化。在Python 3中必须使用as关键字,Python 2中不需要
  8. next函数和.next()方法:由于会经常用到next()函数(.next方法),在Python 2两种都支持,在Python 3中,只能使用next()函数,使用.next()方法会触发AttributeError错误
  9. for循环变量与全局命名空间泄漏:在Python 3.x中,for循环中的变量不再会泄漏到全局命名空间中
  10. 比较无序类型:Python 3中另一个优秀的改动,如果我们试图比较无序类型,就会触发一个TypeError
  11. 使用input()解析输入内容:Python 3改进了input()函数,该函数总是会将用户的输入存储为str对象。在Python 2中,为了避免读取非字符串类型,会发生危险行为,不得不使用raw_input()代替input()
  12. 返回可迭代对象,而不是列表:某些函数和方法在Python 3中返回的是可迭代对象,而不像在Python 2中返回列表。对象只遍历一次会节省很多内存,如果通过生成器多次迭代这些对象,效率就不高了。此时如果需要列表对象,可以通过Python 3的list()函数简单地将可迭代对象转成列表。
  13. 字符编码:Python2:默认编码格式:ASCII;Python3:默认编码格式:UTF-8

1.2 Python环境搭建

在官网下载对应系统版本:https://www.python.org/downloads/
菜鸟教程:https://www.runoob.com/python/python-install.html

1.2.1 Windows

下载对应exe安装文件,点击安装

1.2.2 Linux / Mac OS

以下为在 Unix & Linux 平台上安装 Python 的简单步骤

  1. https://www.python.org/downloads/source/ 选择适用 于Unix/Linux 的源码压缩包。
  2. 下载及解压压缩包:如果你需要自定义一些选项修改Modules/Setup
    tar -zxvf Python3.6.tar.gz
    ./configure --prefix=/usr/local/bin
    make
    make install
  1. 执行以上操作后,Python 会安装在 /usr/local/bin 目录中,Python 库安装在 /usr/local/lib/pythonXX,XX 为你使用的 Python 的版本号。

1.3 Hello World

使用Python 或者Python3j进入命令行

在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果。现在,试试输入100+200,看看计算结果是不是300:

>>> 100+200
300

print()打印出指定的文字函数,打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号:

>>> print('hello, world')
hello, world

这种用单引号或者双引号括起来的文本在程序中叫字符串,今后我们还会经常遇到。

exit()退出Python

当然,也可以将上面保存为.py后缀文件,通过如下命令执行

python / python3 fileName.py

1.4 Python的交互模式和直接运行.py文件有什么区别呢?

  1. 直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。

  2. 直接运行.py文件相当于启动了Python解释器,然后一次性把.py文件的源代码给执行了,你是没有机会以交互的方式输入源代码的。

    用Python开发程序,完全可以一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘到命令行去验证,事半功倍!前提是得有个27'的超大显示器!

你可能感兴趣的:(第1章 - Python3 介绍.md)