代码总结Python2 和 Python3 字符串的区别


Posted in Python onJanuary 28, 2020

Python2

>>> 
>>> isinstance(b'abc', bytes)
True
>>> 
>>> isinstance(b'abc', str)
True
>>> 
>>> isinstance('abc', str)
True
>>> 
>>> isinstance('abc', bytes)
True
>>> 
>>> 
>>> 
>>> 'abc'.startswith('ab')
True
>>> 
>>> b'abc'.startswith('ab'.encode())
True
>>> 
>>> b'abc'.startswith('ab')
True
>>> 
>>> 'abc'.startswith('ab'.encode())
True
>>>

Python3

>>> 
>>> isinstance(b'abc', bytes)
True
>>> 
>>> isinstance(b'abc', str)
False
>>> 
>>> isinstance('abc', str)
True
>>> 
>>> isinstance('abc', bytes)
False
>>> 
>>> 
>>> 
>>> 'abc'.startswith('ab')
True
>>> 
>>> b'abc'.startswith('ab'.encode())
True
>>> 
>>> b'abc'.startswith('ab')
Traceback (most recent call last):
 File "<pyshell#25>", line 1, in <module>
  b'abc'.startswith('ab')
TypeError: startswith first arg must be bytes or a tuple of bytes, not str
>>> 
>>> 'abc'.startswith('ab'.encode())
Traceback (most recent call last):
 File "<pyshell#27>", line 1, in <module>
  'abc'.startswith('ab'.encode())
TypeError: startswith first arg must be str or a tuple of str, not bytes
>>>

扩展学习

python2中有一种类型叫做unicode型,例

type(u"a") => str型
type("a".decode('utf8')) => unicode型

两者返回的类型都是unicode型

而在python3中,所有的字符串都是unicode,所以就不存在单独的unicode型,全部都是字符串型

type(u"a") => str型
type("a".decode('utf8')) => 报错,python3不能这样写

但是python3中多处一种字符串

type(b'132') => byte型

以上就是相关的知识点内容,如果大家有任何补充可以联系三水点靠木小编。

Python 相关文章推荐
Python简单读取json文件功能示例
Nov 30 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
wxPython之解决闪烁的问题
Jan 15 Python
python字符串的方法与操作大全
Jan 30 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
Django model反向关联名称的方法
Dec 15 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
简单了解django索引的相关知识
Jul 17 Python
将python安装信息加入注册表的示例
Nov 20 Python
python 实现单通道转3通道
Dec 03 Python
详解字符串在Python内部是如何省内存的
Feb 03 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
Jan 25 #Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 #Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
Jan 25 #Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 #Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 #Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
Jan 25 #Python
flask框架自定义url转换器操作详解
Jan 25 #Python
You might like
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
python选择排序算法实例总结
2015/07/01 Python
微信跳一跳游戏python脚本
2020/04/01 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
Python将string转换到float的实例方法
2019/07/29 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
Python Http请求json解析库用法解析
2020/11/28 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
药学专业毕业生求职信
2013/10/20 职场文书
小学生成绩单评语
2014/12/31 职场文书
员工自我评价范文
2015/03/11 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
月考总结与反思
2015/10/22 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android