第1章 - Python3 介绍
Python是一种介于C和Shell之间的功能全面、易学易用、可扩展的语言。数据处理方面有如下优势:
- 异常快捷的开发速度,代码量少
- 丰富的数据处理包,无论是正则,还是HTML解析、XML解析,使用方便。
- 内部类型使用成本很低,不需要许多额外操作(Java、C++用一个Map都很麻烦)
- 编码问题处理方便
- 大数据,往往需要处理数据的框架(如Hadoop)。Python虽然小众,但是有处理大数据的框架。一些框架也支持Python。
1.1 从2.7到3.5的新特性
目前,Python有两个版本,一个是2.x,一个是3.x。两个版本是不兼容的两个版本主要区别如下:
- 使用future模块:Python 3.x引入了一些与Python 2不兼容的关键字和特性。在Python 2中,可以通过内置future模块倒入这些新内容。
- print函数:Python 2中的pring语句背pring()函数取代,必须用括号将需要输出的对象括起来。
- 整数除法:由于人们常常会忽视Python 3在整数除法上的改动(写错不会触发SyntaxError错误)
- Unicode:Python 2有基于ASCII的str()类型,可通过单独的unicode()函数转成unicode类型,但没有byte类型。在Python 3中有了Unicode(UTF-8)字符串和两个字节类(byte和bytearrays)
- xrange:在Python 2.x中,经常会用xrange()创建一个可迭代对象,通常出现"for 循环"或"列表/集合/字典推导式"中,在Python 3中,range()的实现方式与xrange()函数相同,所以移除了xrange()
- 触发异常:Python 2支持新旧两种异常触发语法。而Python 3只支持带括号的语法(不然会触发SyntaxError)
- 处理异常:Python 3重的异常处理发生了一点变化。在Python 3中必须使用as关键字,Python 2中不需要
- next函数和.next()方法:由于会经常用到next()函数(.next方法),在Python 2两种都支持,在Python 3中,只能使用next()函数,使用.next()方法会触发AttributeError错误
- for循环变量与全局命名空间泄漏:在Python 3.x中,for循环中的变量不再会泄漏到全局命名空间中
- 比较无序类型:Python 3中另一个优秀的改动,如果我们试图比较无序类型,就会触发一个TypeError
- 使用input()解析输入内容:Python 3改进了input()函数,该函数总是会将用户的输入存储为str对象。在Python 2中,为了避免读取非字符串类型,会发生危险行为,不得不使用raw_input()代替input()
- 返回可迭代对象,而不是列表:某些函数和方法在Python 3中返回的是可迭代对象,而不像在Python 2中返回列表。对象只遍历一次会节省很多内存,如果通过生成器多次迭代这些对象,效率就不高了。此时如果需要列表对象,可以通过Python 3的list()函数简单地将可迭代对象转成列表。
- 字符编码: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 的简单步骤
- https://www.python.org/downloads/source/ 选择适用 于Unix/Linux 的源码压缩包。
- 下载及解压压缩包:如果你需要自定义一些选项修改Modules/Setup
tar -zxvf Python3.6.tar.gz
./configure --prefix=/usr/local/bin
make
make install
- 执行以上操作后,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文件有什么区别呢?
-
直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。
-
直接运行.py文件相当于启动了Python解释器,然后一次性把.py文件的源代码给执行了,你是没有机会以交互的方式输入源代码的。
用Python开发程序,完全可以一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘到命令行去验证,事半功倍!前提是得有个27'的超大显示器!
网友评论