Mac默认是自带Python,而且是自带了Python2.x的最新版本——Python 2.7。

Python版本分为两大流派,一个是 Python 2.x 版本,另外一个是 Python 3.x 版本,Python 官方同时提供了对这两个版本的支持和维护。当然,我们使用最多的要数Python3.x了。对于Python2.x做些小的程序编程或者初学者练手基本够用,但要做项目还是建议下载官网最新的Python3。

如何找到电脑自带的Python2.x

对于Mac自带的Python2,我们可以在这里找到它:

搜索栏找终端

首先打开启动台,找到最上面的“搜索栏”输入“终端”,

【Python】基础知识(五)_数据

打开启动台之后是这样子


【Python】基础知识(五)_搜索栏_02


也可按住command+空格调出“搜索条”后输入“终端”

【Python】基础知识(五)_数据_03


【Python】基础知识(五)_python_04


终端输入Python关键字

其次,输入“终端”后调出“bash”,在光标位置输入“python”回车即可进入python编程命令。

【Python】基础知识(五)_数据_05

【Python】基础知识(五)_python_06

这里找不到Python2,是因为我本机器已经将Python2.x已经删除。升级到的版本为Python3.10.1,如下:

【Python】基础知识(五)_数据_07


Python的版本变更

2020 年 1 月 1 日,Python 官方终止了对 Python 2.7 版本(最后一个 Python 2.x 版本) 的支持,这意味着开发者不会在接收到任何来自 Python 2.7 的错误修复或安全更新。自此 Python 2 完全退休,Python 3 时代正式来临。尽管 Python 2 已退出历史舞台 ,但国内外一些互联网公司仍在使用 Python 2.7 开发程序,同时为了让大家更好地了解 Python 3 ,我们非常有必要知道这两个版本间存在区别。


👉 Python2 和Python3相比-print函数

在 Python 2.x 中,输出数据使用的是 print 语句:

>>> print "3,4"
3,4
或者
>>> print(3,4)
(3,4)


在 Python 3.x 中,输出数据使用的是 print 语句:

【Python】基础知识(五)_python_08


如果还像 Python 2.x 中那样使用 print 语句,Python 编译器就会报错,例如:

【Python】基础知识(五)_数据_09


👉 Python 3.x 默认使用 UTF-8 编码

Python 2.x 默认采用的 ASCII 编码,而 Python 3.x 默认使用 UTF-8 编码,相比来说,UTF-8 编码可以很好地支持中文或其它非英文字符。

例如,输出一句中文,使用 Python 2.x 和 Python 3.x 的区别如下:

#Python 2.x
>>> print {'name': '张三'}
{'name': '\xd5\xc5\xc8\xfd'}

#Python 3.x
>>> print({'name': '张三'})
{'name': '张三'}

【Python】基础知识(五)_数据_10

一般情况下,我们在Python文件中写入文件头部信息:

Python2.x

# -*- coding: UTF-8 -*-

Python3.x

#!/usr/bin/python


注意⚠️:为了更多的演示信息,我打算找一个Python2的在线工具,在这里演示下面的一些区别信息。在线网址为:​​https://c.runoob.com/compile/6/​

👉运算法则的不同

  • / 运算

在Python2.x中

【Python】基础知识(五)_数据_11

在Python3.x中

【Python】基础知识(五)_数据_12


  • // 运算

Python2.x中

【Python】基础知识(五)_搜索栏_13

Python3.x中

【Python】基础知识(五)_搜索栏_14


👉进制运算不同

在 Python 3.x 中,表示八进制字面量的方式只有一种,并且必须写成“0o1000”这样的方式,原来“01000”的方式不能使用了。举个例子:

在Python3.x中

【Python】基础知识(五)_数据_15


👉 不等于运算

Python 2.x 中的不等于运算符有 2 种写法,分别为 != 和 <>,但在 Python 3.x 中去掉了 <>,只有 != 这一种写法,例如:

Python2.x中

【Python】基础知识(五)_python_16

Python3.x中

【Python】基础知识(五)_数据_17


👉 输入差异

Python 2.x 中提供两种类型输入函数,分别是 input() 和 raw_input(),前者默认返回的 int(整数类型) 类型,而后者总是返回 str(字符串类型);Python 3.x 中只提供了一个输入函数 input(),该函数的使用方法与 raw_input() 相似,总是返回 str 类型。


👉 数据类型差异

Python 3.x 去除了 long 类型,现在只有一种整形 int,但它的行为就像是 Python 2.x 版本中的 long。Python 3.x 新增了 bytes 类型,对应 Python 2.x 版本的八位串。

【Python】基础知识(五)_数据_18