pyhton2与python3的使用区别
刚刚开始学习python这门编程语言,考虑到python不同版本的一些用法不同,收集整理了一份python2与python3之间的区别,目前可能不全
编码(核心类)
Python2默认编码ascii,Python3默认编码UTF-8,因此使用Python3不需要文件顶部写‘# coding=utf-8’。
py2:
- ascii
文件头可以修改:#-*- encoding:utf-8 -*-
py3:
- utf-8
文件头可以修改:#-*- encoding:utf-8 -*-
字符串类型(核心类)
Python2中字符串有两种类型:unicode和str,前者表示文本字符串,后者表示字节序列,两者没有明显的界限。
Python3中也有两种类型,str表示字符串,byte表示字节序列,任何需要写入文本或者网络传输的数据都只接收字节序列。
字符串:
py2:
unicode v = u"root" 本质上用unicode存储(万国码)
(str/bytes) v = "root" 本质用字节存储
py3:
str v = "root" 本质上用unicode存储(万国码)
bytes v = b"root" 本质上用字节存储
缩进格式(核心类)
Python2的缩进机制中,1个Tab和8个Space等价的,同时允许缩进中Tab和Space在代码中共存,但这种机制在部分IDE使用中有问题。Python3中Tab和Space不再能共存,同时存在时会报错:
TabError: inconsistent use of tabs and spaces in indentation.
print,exec的用法
在python2中,print作为语句使用,而在python3中作为函数使用,exec同理:
print(“hello”,“world”)
在python2中则输出为一个元组;
在pyton3中输出为两个字符串,默认中间用空格隔开。
True和False用法
Python2中True和False都是全局变量,数值分别表示为1和0,因为是变量,所以存在可以被赋值的情况。
Python3中True和False是关键字,固定指向两个固定对象,不再允许被重新赋值。
小数和除法的用法
Python2中/作用就是整除,只输出整数,//是小数除法;
而在Python3中用//作为整除,/是小数除法。
实例:3/2在Python2中输出为1,在Python3中是1.5
比较运算符的区别
Python2中任意两对象都可以比较。
Python3中只有同种数据类型对象可以比较。
nonlocal
在Python2中可以在函数中使用global声明变量为全局变量,但是给一个变量声明为非局部变量是无法实现的。在Python3,新增了关键字nonlocal,使得定义非jubu变量成为了可能。
迭代器
Python2中很多返回列表对象的内置函数和方法。
在Python3中都改成了返回类似于迭代器的对象,迭代器的惰性求值特性使得操作大数据更加有效率。
for循环变量值区别*
python2中,for循环会修改外部相同名称变量的值:
i = 1
print ('comprehension: ', [i for i in range(5)])
print ('after: i =', i ) #i=4
类似于Python3中:
i=1
for i in range(5):
print(i)
print(i) ##两次结果都是4
Python3,for循环不会修改外部相同名称变量的值:
i = 1
print ('comprehension: ', [i for i in range(5)])
print ('after: i =', i ) #i=1
[i for i in range(5)]生成的是一个链表
round函数返回值区别
Python2,round函数返回int类型值
isinstance(round(15.5),int) #True
Python3,round函数返回float类型值
isinstance(round(15.5),float) #True
pyhton2与python3的使用区别的更多相关文章
- 字符编码 + python2和python3的编码区别(day08整理)
目录 昨日回顾 二十三.元组内置方法 二十四.散列表 二十五.字典内置方法 二十六.集合内置方法 二十七.深浅拷贝 拷贝 浅拷贝 深拷贝 今日内容 二十八.字符编码 1.文本编辑器存储信息的过程 2. ...
- Python2.x与Python3.x的区别
这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...
- python2.x和python3.x的区别
一.python2.x和python3.x中raw_input( )和input( )区别 1.在Python2.x中raw_input( )和input( ),两个函数都存在,其中区别为 raw_i ...
- [python]python2与python3版本的区别
python2和python3的区别 区别: print函数 整数相除 Unicode 异常处理 xrange map函数 不支持has_key print函数: Python 2: print是语句 ...
- (个人记录)Python2 与Python3的版本区别
现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改. 由于只追求向Python3靠近,所以对于python2的特别用法不探究. 此文不补全所有版本区别,仅作档案 ...
- 【python系列】python2.x和python3.x的区别
刚接触python使用的是python2.x的书籍,但是发现python3.x和python2.x有不小的区别,以下做一些记录 性能 Py3.0运行 pystone benchmark的速度比Py2. ...
- python2 中 unicode 和 str 之间的转换及与python3 str 的区别
在python2中字符串分为unicode 和 str 类型 Str To Unicode 使用decode(), 解码 Unicode To Str 使用encode(), 编码 返回数据给前端时需 ...
- Python2和Python3之间的区别
编码区别 Python3.X版本中源码文件默认使用的是utf-8编码 Unicode 字符串 Python 2有两种字符串类型:Unicode字符串和非Unicode字符串 Python 3只有一种类 ...
- 字符编码、python2和python3编码的区别
目录 字符编码 文本编辑器存储信息的过程 python解释器解释python代码的流程 python解释器与文本编辑器的异同 不同编码格式存入与读取数据的过程 乱码的分析 python2和python ...
随机推荐
- 牛客Another Distinct Values
题目 我一开始试了一下n=3,发现不行,于是就猜测只有2可以,交了一发,通过了50%.所以我猜测只有偶数可以,奇数都不行. 中间空白部分放n=2的情况就行.因为n=2的情况时,最大只有2,所以我们可以 ...
- 1.2 JSX 语法
官方文档 https://facebook.github.io/react/docs/jsx-in-depth.html JSX 语法听上去很讨厌,但当真正使用的时候会发现,JSX 的写法在组件的组合 ...
- 剑指offer第二版面试题1:数组中重复的数字(JAVA版)
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复的次数.请找出数组中任意一个重复的数字.例如如果输入长度为7的数组{ ...
- TortoiseGit密钥设置
需要用到TortoiseGit的puttykey generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥. 1. 安装完成TortoiseGit后 ...
- 用户态和内核态&操作系统
用户态和内核态 内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序. 用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被 ...
- hdu6325 /// 上凸包
题目大意: 给定n 为n个点 给定n个点的坐标 两个点(xi,yi) (xj,yj)之间的花费是 xi*yj-yi*xj (可能为负数) 要求从点1经过若干个点到点n最小花费的路径 且路径要按x轴方向 ...
- Boring counting HDU - 3518 后缀自动机
题意: 对于给出的字符串S, 长度不超过1000, 求其中本质不同的子串的数量, 这些子串满足在字符串S中出现了至少不重合的2次 题解: 将串放入后缀自动机中然后求出每一个节点对应的子串为后缀的子串出 ...
- 修改css样式+jq中的效果+属性操作+元素操作
:checked 选框选中的 一.修改css样式: 1.参数只写属性名,则返回属性值 $(this).css( ' color '); //300px 2.参数是属性名,属性值,逗号分隔,是 ...
- Linux下的Ngnix服务器部署静态页
一.安装FTP vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一.在这个 FTP 服务器设计开发的最开始的时候, ...
- CKEditor与CKFinder学习--自定义界面及按钮事件捕获
原文地址:CKEditor与CKFinder学习--自定义界面及按钮事件捕获 讨厌CSDN的广告,吃香太难看! 效果图 界面操作图 原始界面 调整后的界面(删除了flush,表单元素等) 该界面的皮 ...