Python2 Python3 default charset ascii(can change) utf-8 print 可不加括号 必须加 range 有xrange()生成器 可转换为range...input raw_input() input 5/2 2自动向下取整 2.5 object 只有新式类有 都是新式类都默认继承object super() 无 python3,通过super找到父类
特别鸣谢:木芯工作室 、Ivan from Russia ---- 区别 python3 相对于 python2 多了一个括号,如果手动一个个修改的话,工作量比较大 习惯python3的写法就不愿意用...python2的语法规则。...碰巧碰到了一个大型的python2项目。...所以这时候py2to3就诞生了 py2to3简介 2to3的简单集合,主要实现目标:将一个python2项目全部转换为python3,所以现在就只有一个参数–目标项目的绝对路径(或者相对与main function...输入 .\2to3.py -w .\你要转换的文件名,再按回车,成功! 后面跟的是你要转换的文件名字
学2还是3我想这是每一个初学者都会遇到的难题,我觉得作为一名新手直接上3。Python3是未来的大势所趋,2.7现在只是在维护,不会增加新的功能。...接下来,我把2和3的主要区别整理一下分享给大家,有一部分参考了网上,我结合自己的理解和分析,希望可以帮到大家。...1.print这个可能是py2和py3最大的区别,很多人用惯py2的人很不习惯,为什么3一定要加上一个(),这是因为print从语句变为函数。...py3对这点做了改良。...在py3里面彻底的解决了。Python3最重要的改动除了print,大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。
一、print,在python3中已经是函数 >>> import sys >>> print("fatal error",file=sys.stderr) fatal error >>> fp=open...(r"d:\\a.txt",'w') >>> print("python3",file=fp) >>> fp.close() >>> print("There are possibilities...>>> 二、python3中是unicode码,而python2中是ascii码,可以避免中文的编码困扰 >>> import sys >>> print(sys.getdefaultencoding...sys.getdefaultencoding() 'ascii' >>> "中文" '\xd6\xd0\xc\xc4' 三、定义变量更灵活 >>> a,*b,c= range(5) >>> a,b,c (0, [1, 2, 3]
python2 # -*- coding: utf-8 -*- import socket import hashlib if __name__ == '__main__': ip = '192.168.1.12...python3 # -*- coding: utf-8 -*- import socket import hashlib if __name__ == '__main__': ip = '192.168.1.12...python3 # -*- coding: utf-8 -*- import socket import hashlib import binascii if __name__ == '__main...python3 # -*- coding: utf-8 -*- import socket import hashlib import binascii if __name__ == '__main...) ip_md5 = binascii.hexlify(hashlib.md5(str_md5).digest()).decode() print(ip_md5) 总结: Python3
从Python2到Python3需要进行一定的转换,我们知道python版本更新后部分数据结构和语法有了少许的差别,这里简单列出几个,后续会进行更新: 1、print ({}%d.format()) 报错...no attribute 'format'解决: 把.format放在print的括号里面,如下所示: print ("Accuracy:{0}%".format(accuracy)) 2、python3....x 读取csv遇到的bug rb->r def main(): reader=csv.reader(open('userid.csv', 'rb')) 在python3中读取时去掉b for item...in reader: print(item) if name == 'main': main() 3、iteritems在Python3中应改为items() fork, v in dict1.
使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份。...3、python2安装 点击python2安装包,点击运行,next,选择安装目录,本文安装路径为D:\Python\python27,然后next ?...至此,python2和python3安装完毕。 特别说明:此时运行“cmd”命令进入DOS命令提示框,输入python仍然显示python3版本,接下来请参考本系列教程二。...注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同。...然后在运行cmd命令,输入python2即可运行python2.7.9版本,默认python为python3
使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份。...3、python2安装 点击python2安装包,点击运行,next,选择安装目录,本文安装路径为D:\Python\python27,然后next 下图黄色圈出的部分,显示不能够添加路径到系统变量...至此,python2和python3安装完毕。 特别说明:此时运行“cmd”命令进入DOS命令提示框,输入python仍然显示python3版本,接下来请参考本系列教程二。...注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同。...然后在运行cmd命令,输入python2即可运行python2.7.9版本,默认python为python3
所以兼容Python3已经可以说非常必要了,但有些常用的库还没有升级到Python3,所以我们看下如何写出兼容2和3的代码。 Python 2 or 3 ?...注:下文使用 P2 表示 Python 2.7;使用 P3 表示 Python 3.x。...兼容技巧: 1 2 3 4 Python 2 only k = 9223372036854775808L Python 2 and 3: k = 9223372036854775808 1 2 3 4...兼容技巧: 1 2 3 4 5 Python 2 only: assert 2 / 3 == 0 Python 2 and 3: assert 2 // 3 == 0 “True division” (...float division): 1 2 3 4 Python 3 only: assert 3 / 2 == 1.5 Python 2 and 3: from future import division
Python3 与 Python2共存 查看当前python版本 python --version 备份python which python...mv /usr/bin/python /usr/bin/python.bak 下载安装更新python3 wget https://www.python.org/ftp/python/3.6.2...tar -xvJf Python-3.6.2.tar.xz 安装关联程序,安装编译python3.../usr/bin/python2.../usr/bin/python2
脚本字符编码:就是解释器解释脚本文件时使用的编码格式,可以通过 # -\*- coding: utf-8 -\*- 显式指定 解释器字符编码:解释器内部逻辑过程中对 str 类型进行处理时使用的编码格式 Python2...中默认把脚步文件使用 ASCII 来处理(历史原因请 Google) Python2 中字符串除了 str 还有 Unicode,可以用 decode 和 encode 相互转换 Python3 中默认把脚步文件使用...encoding declared; see http://www.python.org/peps/pep-0263.html for details 使用 Python2.6 报错就是因为第一条说的「Python2...个字节长度表示一个中文,而 gbk 是用 2 个字节长度来表示中文,所以之前的 2 个中文,在输出的时候就按照 3 个中文进行编码(encode),当然就乱码了,仔细看那个乱码,就是 3 个字。...总结下结论: Python2 脚步文件尽量使用 gbk 格式存储;同理 Python3 脚步文件尽量使用 utf-8 格式存储; Python2 脚步如果带有中文字符时,请务必在脚本开头声明能支持中文的脚本文件编码
比如我这里环境变量python2在前,系统默认python版本为python2 ? ? 但是,如果每次切换版本都必须这样做,岂不是很痛苦?...一个比较实用的方法是,将python 3.x 下的所有命令文件名称后都添加一个3,如:python ==> python3 ? 同时删除下面这个pip文件: ?...“Python 安装包需要用到包管理工具pip,但是当同时安装python2和python3的时候,pip只是其中一个版本,以下将提供一个修改方式,即重新安装两个版本的pip,使得两个python版本的...http://www.cnblogs.com/yyds/p/6080826.html 2、http://www.cnblogs.com/thunderLL/p/6643022.html 附:Windows上Python2...和3如何兼容?
1、不等于比较运算符,python3不识别,pyhon2.7中!=和都能运行。2、print函数的使用,python3必须加括号,python2加不加都行。...3、py2 的默认编码是ASCII,py3的默认编码是UTF-8。4、py3字符串解码后会在内存里自动转换成Unicode,而py2不会。...5、py2中有Unicode数据类型,py3中没有,字符串都是Unicode格式的str数据类型。6、py2中bytes可以是二进制,也可以是str,py3中bytes只是十六进制表示的二进制。...11、py2的除法中不是浮点数则只返回商,py3除法返回值正常。12、py3运行程序可以识别相同目录下普通文件夹中的模块,py2只能识别文件夹标识后的包中的模块。...仅py3中有类的mro函数方法,输出继承父类的顺序列表。
1.安装过程中可以手动选择安装路径,本文中的安装路径为"D:\python2", "D:\python3"。 2....2)写python2的环境变量 高级系统设置,环境变量,选择Path,点击编辑,新建,分别添加D:\python2和D:\python2\Scripts到环境变量。 3....修改python编译器名 为了在DOS中便于区分python2和python3,我们将默认的python编译器名称进行修改。...在python2和python3的安装目录中: 修改D:\python2中python.exe和pythonw.exe的名称为python2.exe、pythonw2.exe; 修改D:\python3...安装pip2 python2 -m pip install --upgrade pip --force-reinstall 安装pip3 python3 -m pip install --upgrade
1) 核心类差异 python2 python3 1. Python3对Unicode字符的原生支持。...Python2中使用 ASCII 码作为默认编码方式导致string有两种类型str 和unicode,Python3只 支持unicode的string。...Python2和Python3字节和字符对应关系为: ? 2. Python3采用的是绝对路径的方式进行import。...Python3中这一点将被修改,如果还需要导入同一目录的文件必 须使用绝对路径,否则只能使用相关导入的方式来进行导入。 3. Python2中存在老式类和新式类的区别 Python3统一采用新式类。...“//”: Python2:返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。 Python3:和Python2运算结果一样。 2.
今天小婷儿给大家分享的是Python3与Python2的差异。 Python3与Python2的差异 基于python3浅谈python3与python2的差异。...由于现今主流Python3,但是之前用Python2做的项目,还得维护,所以作为python工作者,不免要了解其中差异,其中,Python2 有 ASCII str() 类型,unicode() 是单独的...整除差异 > print(7/3)> Python3结果:2.3333333333333335 > Python2结果:2 > Python3表示整除是print(7//3) 不等号的差异: Python2...=一种写法 整型的差异: Python2中有一种整型—int和长整型-long Python3中只有一种整型—int 提示信息的差异: Python2中raw_input( "提示信息" )和input...如果需要编写一个遍历元组的列表解析,Python2不需要在元组值周围加上括号。在python3里,这些括号是必需的。
目录 新增nonlocal在闭包中改变临时变量 print加() Unicode编码存储字符串 数据类型新增bytes 除法/不需要转float 异常捕获 加as range 八进制表示 只能0o1000...input map、filter、reduce 打开文件 open chr( K ) 与 ord( c )的范围 字节数组对象bytearry ---- 新增nonlocal在闭包中改变临时变量 python2...print (b[0]) # 输出65 b[0] = 66 #TypeError: 'bytes' object does not support item assignment 除法/不需要转float... Python 3整数之间做除法可以得到浮点数的结果,不需要进行数据格式转换1/2=0.5 Python 2整数int间除法结果为把运算结果去尾的整数1/2=0,3/2.0=1.5 异常捕获...线程模块:Python 2 中 thread,Python 3 中_thread 字典的关键字 用属性代替函数 Python 3去掉iterkeys()、 dict.has_key(),用.keys
首先:pip install 2to3 然后cd 到你python2文件的路径 以官方最简单的例子: def greet(name): print "Hello, {0}!"....name = raw_input() greet(name) 开始是这样的: 我就执行命令:2to3 -w example.py zg 执行后双击一下原来的example.py自动更新如下
Python2和Python3之间的差异 python2和python3默认编码方式不同 python2的默认编码方式是ASCII,而python3的默认编码方式是Unicode,因此我们在python2...---- input和raw_input 在python2中提供了raw_input和input两个函数,而在python3中的input函数是raw_input函数的重命名,在python3中没有了raw_input...python2的input 在python2中input函数的输入被当做python代码,是可以直接执行的。例如: #!.../input_python2.py 请输入内容:1+2 3 预期的输出结果应该是1+2,而不是实际输出的3,这是因为input函数把输入当做python代码给执行了,然后将执行结果赋值给了data变量.../input_python2.py 请输入内容:1+2 1+2 python3的input 如前所述,python3的input就是python2的raw_input函数的重命名。
领取专属 10元无门槛券
手把手带您无忧上云