python2x 与 python3x 区别

python2.x 与 python3.x 的区别

1. python2.x 的源码编码不规范,源码重复较多;python3.x 的源码编码规范,清晰、优美、简单
2. python2.x的默认字符集编码为ASCII,而python3.x 默认字符编码为UTF-8;因此表现就是python2默认是不支持中文字符的,除非源文件首行显示指定字符编码

# -*-  coding: utf-8 -*-

( # -*- encoding:utf-8 -*-)

不能在嵌套函数中将一个变量声明为非局部变量。
int(整型):在32位机器上,整数的位数为32位; 在64位机器上,整数的位数为64位;从python2.2起,
如果整数发生溢出,Python会自动将整数转换为长整数,所以不加字母L也不会导致严重结果了。



3. python3.x : print语句没有了,变成了print()函数,而python2.6 和 python2.7部分地支持print()这种形式的语法

不再有long(长整型)了,全都是int


4. True 和 False的改变
python2.x 中 True 和 False 是两个全局变量,因此可以进行赋值
python3.x 中 True 和 False 变成 了两个关键字,指向了固定的对象,不能再疲重新赋值。
5. nonlocal关键字

Python2中要想在嵌套函数中将一个变量声明为非局部变量简直就是异想天开的事情,然而在Python3中这是稀松平常的事情。Python3中加入了nonlocal关键字,可以在嵌套函数中给变量前面添加关键字nonlocal,就可以在嵌套函数之外使用嵌套函数中的变量。

原文地址:https://www.cnblogs.com/chris-jia/p/9462848.html