python3.5和3.7有啥区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3.5和3.7有啥区别相关的知识,希望对你有一定的参考价值。
python3.5和3.7主要的区别在并发上,尤其是异步协程模块的性能提升上,更多细节可以去老男孩教育搜索一些相关视频,里面课程都会有涉及,希望能帮助你 参考技术A 在安装完Python3.7后,会在Python37\Scripts目录下发现有三个pip开头的exe,分别是:1. pip
2. pip3
3. pip3.7
那么为什么会有三个呢?明明不是只有一个pip就可以吗?
原因是为了兼容。
比如Linux或Mac系统下本来已经预装了Python2.7的版本,后来我们自己又装了3.7的版本。
而因为系统其它组件或程序需要依赖2.7版本,并不希望我们把它给替换掉。
那么只能折衷做兼容处理,给它们加上后缀,以示区分:
如果同时装有 python2 和 python3
pip 默认给 python2 用。
pip3 指定给 python3 用。
如果同时安装多个3的版本的话,比如3.5 3.6 3.7。则用pip3明显不合适,这个时候就可以用pip+版本后缀来明确指出具体版本的pip了。
如果只装有 python3
则pip和pip3、pip3.7是等价的。 参考技术B Python3.7 安装后pip pip3 pip3.7的区别
在安装完Python3.7后,会在Python37\Scripts目录下发现有三个pip开头的exe,分别是:
1. pip
2. pip3
3. pip3.7
那么为什么会有三个呢?明明不是只有一个pip就可以吗?
原因是为了兼容。
比如Linux或Mac系统下本来已经预装了Python2.7的版本,后来我们自己又装了3.7的版本。
而因为系统其它组件或程序需要依赖2.7版本,并不希望我们把它给替换掉。
那么只能折衷做兼容处理,给它们加上后缀,以示区分:
如果同时装有 python2 和 python3
pip 默认给 python2 用。
pip3 指定给 python3 用。
如果同时安装多个3的版本的话,比如3.5 3.6 3.7。则用pip3明显不合适,这个时候就可以用pip+版本后缀来明确指出具体版本的pip了。
如果只装有 python3
则pip和pip3、pip3.7是等价的。 参考技术C 他们的主要区别的话就是功能性不一样,或者在很多的功能性有了极好的优化,相对来说的话,什么效果也比较好。 参考技术D 两个不同的版本了,所以一些性能‘一些表现都是不同呀,毕竟有更新版本了呢,
所以这个就是一些小的变化的。
python中的b''和''有啥区别? [复制]
【中文标题】python中的b\'\'和\'\'有啥区别? [复制]【英文标题】:What is the difference between b'' and '' in python? [duplicate]python中的b''和''有什么区别? [复制] 【发布时间】:2016-02-16 01:31:15 【问题描述】:我是 python 新手,我对 b''
和 ''
的区别有点困惑。
我认为它们都是空的,但 b'' == ''
返回 False
。但为什么?有人可以用 memory 向我解释一下吗?
它们在内存中的内容是否相同,而在类型上是否不同,从而导致不平等?
【问题讨论】:
【参考方案1】:b""
创建一个 bytes
对象,而 ""
创建一个 str
对象。引用documentation:
字节文字总是以
'b'
或'B'
为前缀;他们产生一个bytes
类型的实例,而不是str
类型。他们可能只 包含 ASCII 字符;数值为 128 或更大的字节 必须用转义符表示。
在 Python3 中,不同类型的对象(不同的数值类型除外)永远不会比较相等。
顺便说一句,对象的内存大小也不同:
>>> from sys import getsizeof
>>> getsizeof(b"")
33
>>> getsizeof("")
49
【讨论】:
【参考方案2】:(这是针对 python3 的):您的示例之一是 bytes
类型;另一个str
。他们永远不会被认为是平等的。
print(type(b'')) # -> <class 'bytes'>
print(type('')) # -> <class 'str'>
【讨论】:
【参考方案3】:在python2中基本没有区别。在python3中,第一个是字节串或字节字面量,第二个是普通字符串。
【讨论】:
以上是关于python3.5和3.7有啥区别的主要内容,如果未能解决你的问题,请参考以下文章
python3.5和python3.6关于json模块的区别