当前位置:首页 » 编程语言 » python2

python2

发布时间: 2022-01-09 20:46:34

‘壹’ python中n%2是什么意思

% 是python 运算符 返回余数
n 是 变量 number

n % 2 可以用来判断 n 是否被 2 整除,检测奇,偶数。

‘贰’ python2和python有什么区别

很多初学者刚开始学python的时候,一定都遇到过这个问题,python的世界有2个版本,python2 和 python3 ,而且有些语法还不兼容.怎么办~~到底应该选择哪个版本来开发呢?好,今天我们就来聊聊这个话题.

1.Python2和Python3的历史背景
Python语言是在20世纪90年代诞生的,算算到现在已经是25岁的大叔级的语言了(跟它同一个时代的还有一个鼎鼎大名的java是在1995发行的, 红了几十年).
但是Python真正成名比java晚了很多年,其实也主要是应用领域的时代变迁.(猜测为啥,对了大数据的出现)

Python2是Python里面一个非常重要的版本,最早的版本是从2001的时候开始的,特别是从2006年开始py2.5的发布,python的功能逐渐强大起来,慢慢开始稳定下来,并且差不多1-2年左右递增一个版本,在08年左右开始慢慢的火起来了.

而Python3最早是从2008开始发布,但是py3.0的版本非常不稳定,所以社区更新的很快,差不多几个月就更新一次。所以一开始的时候并没有很多人用,只到2014春暖花开的时候python3.4 deliver了才开始慢慢稳定下来.

下面我们看一个数据,这是Python社区联和一些网站在2014做的一个调查,关于Python2/3,部分的结果如下:
1).97.51%用户还在写Python2的代码
2).60%的用户写Python3的代码
3).78.09%的用户更多地写Python2代码
4).77.09%的用户认可Python3

目前有一些Linux里的操作系统已经默认使用Python3:
1).Arch Linux (轻量级的Linux操作系统)
2).Ubuntu 16.04 (一个桌面应用为主的Linux操作系统)
3).Fedora(Redhat桌面版本的延续)

2.Python2和Python3的主要区别:
目前最新的数据是,Python有两个版本:一个是2.7.12版,一个是3.5.12版.

那么Python2运行的好好的,为啥突然要出个Python3呢,其实是为了解决Python2里面一些历史问题
第一个是字符串的问题:
Python 2 中文本和二进制数据是一个烂摊子,Python中的str 是代表二进制数据还是文本数据是有二义性,文字既能代表文本数据又能代表二进制数据这很麻烦,此类错误发生的时候,我们很难意识到。

第二个是对Unicode的支持
由于python是在1991年2月开源发布,这意味着它早于在1991年10月发布的第一版 Unicode 标准。在接下来几年中,晚于 Unicode 标准出现的语言都选择在支持 Unicode 编码的基础上实现自己的 str 类型,这让 Python 2 处于尴尬的境地。
目前是一个python2/3共存的时代,这两个版本是不兼容的。
python2现在只是做bug的修复,新硬件和操作系统兼容的相关维护工作。不会再有新的功能加入,python2只支持到2020年.
现在Python正在朝着3版本进化,在进化过程中,大量的针对2.x版本的代码要修改后才能运行,所以目前有许多第三方库还暂时无法在3.x上使用。

不过可以畅想一下,也许再过几年情况就会好很多,毕竟全世界有很多优秀的程序员正在把一些库从Py2往Py3上迁移.

3.选择还是要根据自己的需求
若是企业的开发,要满足工作的需求,尤其是依赖的软件只能运行在Python2下,首选Python2.比如你的开发需要依赖大量的第三方的库(因为学Python非常大的一个原因就是因为它有成千上万的第三方包),像大量的数据分析,科学计算,还是选Python2吧.

如果你是自己学习,研究的话,愿意拥抱变化,那么建议学Python3,因为它是未来的方向.

结论:
编程其实主要是对编程思想的理解和经验的积累,千万不要因为纠结学Py2还是Py3而浪费大量时间。

Py2和Py3里面的思想基本是相通的,招式是类似的.当你熟悉Python到一定的程序的时候,会Py2的人学Py3只需要很短的时间。

所以不要再纠结细枝末节的语法差异,而耽误了宝贵的学习时间。

好了Python2和Python3的恩怨情仇就讲到这里啦(它们还要相爱相杀一段时间),希望能给初学者一些启发,若有什么不懂的,也可以留言跟我探讨交流.

最后说一下,原创不易,希望大家能够给点支持,欢迎转发,留言,也是对我的一点鼓励和动力.

‘叁’ python中2*=3是什么意思

语法错误
如果是 a *= 3 的话, 表示a=a*3, 左值必须要是变量才可以

‘肆’ Python 2**2**3=256

解析:

**表示幂运算,优先级是右结合,a ** b即求a的b次方。

右结合的意思是说多次幂运算先递归计算右边的结果:a ** b ** c = a ** ( b ** c)。

所以2 ** 2 ** 3 = 2 ** (2 ** 3) = 2 ** 8 = 256。

(4)python2扩展阅读:

Python的表达式写法与C/C++类似。只是在某些写法有所差别。

主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~, %分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取余。

>>, <<表示右移和左移。&, |, ^表示二进制的AND, OR, XOR运算。>, <, ==, !=, <=, >=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。

Python使用and, or, not表示逻辑运算。

is, is not用于比较两个变量是否是同一个对象。in, not in用于判断一个对象是否属于另外一个对象。Python支持“列表推导式”(list comprehension)。

‘伍’ python中python2和python3之间怎么转换

python中python2和python3之间的转换方式如下:

一、放弃python 2.6之前的python版本

python 2.6之前的python版本缺少一些新特性,会给你的迁移工作带来不少麻烦。如果不是迫不得已还是放弃对之前版本的支持吧。

二、使用 2to3 工具对代码进行检查和转换

2to3是python自带的一个代码转换工具,可以将python2的代码自动转换为python3的代码。当然,不幸的是转换出的代码并没有对python2的兼容做任何的处理。所以我们并不真正使用2to3转换出的代码。执行2to3.py 查看输出信息,并修正相关问题。为了简化这个转换过程,这个脚本会将你的Python 2程序源文件作为输入,然后自动将其转换到Python 3的形式。

‘陆’ python2和python3的区别

简单的说,2是旧3是新,3是2的升级版,3完全高于2,2是时代的眼泪3是现在和未来,2逐渐被淘汰3用的人越来越多。

之前两个版本共存只是因为诸多package的更新换代并没有跟上,但是到了现在只要还有活人维护的package基本都兼容3了,然而新建的package却越来越多不兼容2。使用2的意义基本没有了,日常用3大不了留一个2备用就行。

‘柒’ python 2**2**0

python中定义的指数运算的优先级是从右到左,可以参考python的官方文档 5.4节《指数运算》(http://docs.python.org/2/reference/expressions.html#the-power-operator)。
根据这条定义,2**2**0=2**(2**0)=2**1=2
如果想要得到1的答案,就需要用括号强调从左到右的运算顺序,(2**2)**0=4**0=1

‘捌’ python2和python的区别

1.print不再是语句,而是函数,比如原来是print'abc'现在是print('abc')


但是python2.6+可以使用from__future__importprint_function来实现相同功能

2.在Python3中,没有旧式类,只有新式类,也就是说不用再像这样classFoobar(object):pass显式地子类化object

但是最好还是加上.主要区别在于old-style是classtype类型而new-style是type类型

3.原来1/2(两个整数相除)结果是0,现在是0.5了

python2.2+以上都可以使用from__future__importdivision实现改特性,同时注意//取代了之前的/运算

4.新的字符串格式化方法format取代%

错误,从python2.6+开始已经在str和unicode中有该方法,同时python3依然支持%算符

5.xrange重命名为range

同时更改的还有一系列内置函数及方法,都返回迭代器对象,而不是列表或者元组,比如filter,map,dict.items等

6.!=取代<>

python2也很少有人用<>所以不算什么修改

7.long重命名为int

不完全对,python3彻底废弃了long+int双整数实现的方法,统一为int,支持高精度整数运算.

8.exceptException,e变成except(Exception)ase

只有python2.5及以下版本不支持该语法.python2.6是支持的.不算新东西

9.exec变成函数

类似print()的变化,之前是语句.

简单补充下

*主要是类库的变化,组织结构变了些.但功能没变.urlparse->urllib.parse这样的变化

*最核心的变化它没有说,对bytes和原生UNICODE字符串的支持,删除了unicode对象,str为原生unicode字符串,bytes替代了之前的str这个是最核心的.

*其它...貌似不怎么重要了.

‘玖’ python语言中:[:-2]是什么意思

丢弃序列的最后两个字符。

比如a=[1,2,3,4,5,6]

print(a[:-2])

‘拾’ Python3和Python2的区别

具体区别如下
1:打印时,py2需要可以不需要加括号,py3 需要python 2 :print ('lili') , print 'lili'python 3 : print ('lili') python3 必须加括号exec语句被python3废弃,统一使用exec函数
2:内涵
Python2:1,臃肿,源码的重复量很多。 2,语法不清晰,掺杂着C,php,Java的一些陋习。
Python3:几乎是重构后的源码,规范,清晰,优美。
3: 输出中文的区别python2:要输出中文 需加 # -*- encoding:utf-8 -*-Python3 :直接输出
4:input不同python2 :raw_input python3 :input 统一使用input函数
5:指定字节python2在编译安装时,可以通过参数-----enable-unicode=ucs2 或-----enable-unicode=ucs4分别用于指定使用2个字节、4个字节表示一个unicode;python3无法进行选择,默认使用 ucs4查看当前python中表示unicode字符串时占用的空间:impor sysprint(sys.maxunicode)#如果值是65535,则表示使用usc2标准,即:2个字节表示#如果值是1114111,则表示使用usc4标准,即:4个字节表示
6:py2:xrangerangepy3:range 统一使用range,Python3中range的机制也进行修改并提高了大数据集生成效率
7:在包的知识点里包:一群模块文件的集合 + __init__区别:py2 : 必须有__init__py3:不是必须的了
8:不相等操作符"<>"被Python3废弃,统一使用"!="
9:long整数类型被Python3废弃,统一使用int
10:迭代器iterator的next()函数被Python3废弃,统一使用next(iterator)
11:异常StandardError 被Python3废弃,统一使用Exception
12:字典变量的has_key函数被Python废弃,统一使用in关键词
13:file函数被Python3废弃,统一使用open来处理文件,可以通过io.IOBase检查文件类型

热点内容
SQL写序列 发布:2024-09-20 06:02:29 浏览:964
装缓存下载 发布:2024-09-20 05:42:36 浏览:72
gon引擎自动回收脚本 发布:2024-09-20 05:39:39 浏览:246
好医生连锁店密码多少 发布:2024-09-20 05:09:38 浏览:15
魔兽脚本代理 发布:2024-09-20 05:09:35 浏览:99
python登陆网页 发布:2024-09-20 05:08:39 浏览:758
安卓qq飞车如何转苹果 发布:2024-09-20 04:54:30 浏览:178
存储过程中in什么意思 发布:2024-09-20 04:24:20 浏览:315
php显示数据 发布:2024-09-20 03:48:38 浏览:501
源码安装软件 发布:2024-09-20 03:44:31 浏览:354