python2.x 与 python3.x的不同

时间:2021-09-28 13:57:03

python2.x 与 python3.x 的区别:

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

int(整型):在32位机器上,整数的位数为32位; 在64位机器上,整数的位数为64位;从python2.2起,
如果整数发生溢出,Python会自动将整数转换为长整数,所以不加字母L也不会导致严重结果了。

3. python3.x : print语句没有了,变成了print()函数,而python2.6 和 python2.7部分地支持print()这种形式的语法
4. True 和 False的改变
python2.x 中 True 和 False 是两个全局变量,因此可以进行赋值
python3.x 中 True 和 False 变成 了两个关键字,指向了固定的对象,不能再疲重新赋值。
5. nonlocal关键字

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

python2.x  : 经典类 和 新式类 并存,默认不主动继承 object类

python3.x :所有类都是新式类
====

===
====
====


===
===
====


----
===
===

 

=====
====
===

 

----
===
===

在windows的CMD中设置支持UTF-8编码
chcp 65001


nt(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
注意:在Python3里不再有long类型了,全都是int
notepad++ t3.py
num1 = 2**64
print(num1)
print(type(num1))
num2 = 2**30
print(num2)
print(type(num2))

 


设置pycharm作者模板
file → settings → Editor → File and Code Templates → Python Script
粘贴以下内容:
# -*- coding: utf-8 -*-
# @Time : ${DATE} ${TIME}
# @Author : chris
# @Email : yellwonfin@outlook.com
# @File : ${NAME}.py
# @Software: ${PRODUCT_NAME}