【Python】Python2与Python3的不同
来源:互联网 发布:网络布线测试报告 编辑:程序博客网 时间:2024/05/18 06:20
前言
Python作为一种了解各种语言的胶水语言,以其自身优势在系统开发、web开发、网络爬虫、数据挖掘、深度学习等多方面均有广泛使用,Python也有其特殊之处:Python2.x与Python3.x并不兼容,这篇文章就是介绍Python的两个版本之间的不同。
编码
Python3源码文件默认使用utf-8编码,因此,如下代码合法:
>>> 中国 = 'china'>>> print(中国)china
字符串与Unicode
Python2中,字符串默认是字节字符串,而在Python3中是Unicode字符串。Python3行为可以通过下面命令导入到Python2中。
from __future__ import unicode_literals同时,字节字符串与文本字符串的名称不同。在Python2中,str类用于表示字节字符串,unicode类用于表示文本字符串。在Python3中,则变为bytes与str。这意味着名称为str的类在两个版本中都存在,但代表着不同意义。
Print函数
从Python2到Python3,Python改变了print的工作机制。在Python2中,print是一个特殊语句,如下所示:
print 'Hello World'默认情况下,print会写到sys.stdout并在字符串结尾附加\n,然而,print可以通过使用特殊语法>>打印到其他地方,如下:
import sysprint >> sys.stderr,'Hello World!'在Python3中,print成为一个函数,这个函数接受一个名为file的关键字参数,其默认值为sys.stdout,如下:
import sysprint('Hello World!',file=sys.stderr)另外,新的print函数也更加灵活,可以通过使用end关键字参数来改变默认在字符串结尾附加的\n的行为。
Python3的print函数在Python2.x的__future__模块中可用,使用如下:
from __future__ import print_function
除法
在Python2中,除法(/)操作符用于两个整型数,返回int类型,为了避免无法整除的现象,只能使用小数点使得被除数为float型,如下:
>>> 4/22>>> 5/22>>> 5.0/22.5而Python3则通过整数除法总是返回float型修复了这个行为,如下:
>>> 4/22.0>>> 5/22.5
阅读全文
1 0
- 【Python】Python2与Python3的不同
- Python3 与 Python2 的不同
- 【python学习笔记】python2.x与python3.x版本中zip函数的不同
- Python3.3与Python2.7的不同 笔记
- Python2.7与Python3.3不同而产生的错误
- python3.x与python2.x的不同(一)
- python3.x与python2.x的一些不同
- Python2中的函数与Python3中函数的不同
- python3.5处理异常与python2的不同
- 【Python】让Python2.x与Python3.x共存的方法
- python2和python3的写法不同
- python2的安装&python2和python3的不同
- Python2与Python3的区别
- python2与python3的区别
- python2与python3的区别
- Python3与Python2的区别
- python2与python3的区别
- Python2与Python3的区别
- CentOS下如何挂载ntfs分区
- poj2112 二分最大流
- Kafka学习(三):Kafka的内部机制深入(持久化,分布式,通讯协议)
- 图论专项菜鸡入门(二):图的遍历
- 自动编码器
- 【Python】Python2与Python3的不同
- Server Tomcat v9.0 Server at localhost failed to start
- E
- java算法之希尔排序
- JQuery 中 实现复选框全选/全不选/反选功能 案例
- 【C语言】文件位置指针
- Hdu 2457 DNA repair AC自动机+DP
- 服务器渲染与客户端渲染
- mysql workbench入门记(一)-介绍及简单使用