python2和python3区别

博客主要介绍了Python2和Python3在多方面的差异。字符编码上,Python3默认是unicode,Python2默认是ASCII;输入使用方式不同;range和xrange表现有别;语句变函数的使用也不一样;数据传输方面,Python3需传byte类型,Python2可直接传str。

 

  • 字符编码: py3中默认字符编码是unicode;py2中默认字符编码是 ASCII,如果文件中出现了中文,需要在顶部加入coding声明#coding:utf8
  • 让用户输入:py3中直接使用input(); py2中需要使用raw_input()
  • range和xrange:py3中的range == py2中的 xrange, 返回类似迭代器的东西,节省内存空间
  • 语句变函数: py3中为print()exec()是一个方法,必须加上括号; py2中为printexec
  • 数据传输: py3中socket传过来的数据是byte类型 / hashlib包update也需要传bytes类型的数据; py2中则可以直接传入str

eg:

# python3
import hashlib
m = hashlib.sha256()
m.update(b"Nobody inspects")

# python2
import hashlib
m = hashlib.md5()
m.update("Nobody inspects")

 

转载于:https://www.cnblogs.com/sea-stream/p/11188390.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值