Python学习笔记——起步

Python 2 和 Python 3的区别

一、维护及版本更新不同

官方通知python2 2020开始已不再维护,python3的版本还在不断迭代更新 。

因为python2官方不再维护且python3的广泛使用,很多新的算法包、AI包等其他功能模块包都是基于python3开发的,python2基本不兼容。

二、两个版本所使用的编码不同 

python2使用的是ASCII编码,如果想要支持中文的话,需要更改一下字符集,添加coding:utf-8 ;

python3使用的是utf-8编码,是支持中文的。

三、语法上发生变化 

1、不相等操作符"<>"被 Python3 废弃,统一使用"!=";

2、整型除法运算‘/’python2返回的是整数,python3整型除法返回的是浮点数,python3中除法返回整数使用//(整除);

3、python3中加入了nonlocal声明。使用noclocal x可以声明该函数上部层级中的变量;

4、python3中去除了print语句,使用print()函数替代使用。还有 exec语句也被exec()函数替代;

5、python3中输入函数改变了(读取键盘输入的方法),其实Python2中raw_input()和input( ),两个函数都存在,只不过input()函数只对数字有用;

Python3中对两个函数进行了整合,把raw_input()去掉了,增强input()函数的功能,使其将所有输入当作字符串来处理,并返回字符串类型;

6、python3中加入了关键词as 和with ;

7、python3中增加了f' {} ',格式化,在python2中是没有这个功能的;

str = 'Hello_Python'
print(f'输出得字符串是:{str}')

四、数据类型的使用上发生变化

1、python3去除了长整型long类型,只保留整型int

2、python3中str表示字符串序列,byte表示字节序列;python2中Unicode表示字符串序列,str表示字节序列;

3、字典类型下的方法.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃了has_key()用 in替代了它的使用;

五、异常的捕捉发生变化

1、在Python3中,只有继承自BaseException的对象才可以被抛出,换句话说异常类全部继承自BaseException,python2中各类型对象均可以抛出, 并且异常StandardError 也被Python3废弃,统一使用Exception;

2、捕获异常的语法改变,用 raise Exception(args)代替 raise Exception, args语法,并且引入了as关键字来标识异常实例;

六、python3引入了抽象基类

python3中引入了Abstraact Base Classes,ABCs抽象基类,并且也因此增加了@abstractmethod和 @abstractproperty两个装饰器,对于编写抽象方法更加方便。

七、其它变化

1、xrange() 改为range(),如果想用range()创建一个list,需要进行强类型转换。比如:list(range(10));

2、序列化模块python3中把python2中的cpickle移除,换成pickle模块使用;

3、zip()、map()和filter()都返回迭代器。而apply()、 callable()、coerce()、 execfile()、reduce()和reload()函数都被去除了。python2中的callable(func)函数在python3中可以使用hasattr(func, '__call__');python2中reduce() 在python3中使用functools模块包中的reduce();

4、比较的返回不同,如果x < y的不能比较,抛出TypeError异常。python2版本是返回伪随机布尔值的;

5、file类在pytho3中被废弃,并且python3中只能使用open(....)去打开文件;

搭建 Python 编程环境

1、安装Python

下载Python安装程序地址:http://python.org/downloads/

下载Python 3的按钮,根据你的系统自动下载正确的安装程序。下载安装程序后,运行它。

安装时选中复选框Add Python toPATH 能让你能够更轻松地配置系统。 

 2、从终端运行 Python 程序

在命令窗口中,进入运行程序hello_world.py所在的目录,执行命令:python hello_world.py 

 Python 命令行参数:

选项 描述
-d 在解析时显示调试信息
-O 生成优化代码 ( .pyo 文件 )
-S 启动时不引入查找Python路径的位置
-V 输出Python版本号
-X 从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时。
-c cmd 执行 Python 脚本,并将运行结果作为 cmd 字符串。
file 在给定的python文件执行python脚本。

 3、Python 环境变量 

变量名 描述
PYTHONPATH PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
PYTHONSTARTUP Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此变量指定的文件中的代码。
PYTHONCASEOK 加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写.
PYTHONHOME 另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUP或PYTHONPATH目录中,使得两个模块库更容易切换。

 4、Python VScode 配置

 VSCode 完整安装教程参考:VScode 教程 | 菜鸟教程

安装 VS Code Python 扩展:

Python学习笔记——起步_第1张图片

 右击文件,选择"在终端中运行 Python 文件":

Python学习笔记——起步_第2张图片

3、运行 hello_world.py 时发生的情况

运行文件hello_world.py时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词 print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。

解释器

Linux/Unix的系统上,一般默认的 python 版本为 2.x,我们可以将 python3.x 安装在 /usr/local/python3 目录中。

安装完成后,我们可以将路径 /usr/local/python3/bin 添加到您的 Linux/Unix 操作系统的环境变量中,这样您就可以通过 shell 终端输入下面的命令来启动 Python3 。

$ PATH=$PATH:/usr/local/python3/bin/python3    # 设置环境变量
$ python3 --version
Python 3.6.0

交互式编程

我们可以在命令提示符中输入"Python"命令来启动Python解释器:$ python3

当键入一个多行结构时,续行是必须的。我们可以看下如下 if 语句:

>>> flag = True
>>> if flag :
...     print("flag 条件为 True!")
... 
flag 条件为 True!

脚本式编程

将代码写入 xxx.py文件中并运行该脚本 

在Linux/Unix系统中,你可以在脚本顶部添加以下命令让Python脚本可以像SHELL脚本一样可直接执行:

#! /usr/bin/env python3

你可能感兴趣的:(Python,学习,python)