代码总结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 Django框架实现自定义表单提交
Mar 25 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
PyQt5每天必学之滑块控件QSlider
Apr 20 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python Django中models进行模糊查询的示例
Jul 18 Python
python Pillow图像处理方法汇总
Oct 16 Python
python实现小世界网络生成
Nov 21 Python
python七种方法判断字符串是否包含子串
Aug 18 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
PDO::quote讲解
2019/01/29 PHP
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
python 图片去噪的方法示例
2019/07/09 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
塔吉特百货公司官网:Target
2017/04/27 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书