‘壹’ python2和python3的区别
简单的说,2是旧3是新,3是2的升级版,3完全高于2,2是时代的眼泪3是现在和未来,2逐渐被淘汰3用的人越来越多。
之前两个版本共存只是因为诸多package的更新换代并没有跟上,但是到了现在只要还有活人维护的package基本都兼容3了,然而新建的package却越来越多不兼容2。使用2的意义基本没有了,日常用3大不了留一个2备用就行。
‘贰’ python中n%2是什么意思
% 是python 运算符 返回余数
n 是 变量 number
n % 2 可以用来判断 n 是否被 2 整除,检测奇,偶数。
‘叁’ 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**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
‘伍’ 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的形式。
‘陆’ 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检查文件类型
‘柒’ 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。
(8)python2扩展阅读:
Python的表达式写法与C/C++类似。只是在某些写法有所差别。
主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~, %分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取余。
>>, <<表示右移和左移。&, |, ^表示二进制的AND, OR, XOR运算。>, <, ==, !=, <=, >=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。
Python使用and, or, not表示逻辑运算。
is, is not用于比较两个变量是否是同一个对象。in, not in用于判断一个对象是否属于另外一个对象。Python支持“列表推导式”(list comprehension)。
‘玖’ python3解决了python2的哪些问题
在Python2中,数位进制方面有一定程度的混乱。在Python3中统一了进制表示法。
‘拾’ 求python2.6.2下载地址
win32版本 http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi
win64版本 http://www.python.org/ftp/python/2.6.2/python-2.6.2.amd64.msi
其他版本见
http://www.python.org/ftp/python/2.6.2/
里面的python-2.6.2c1是candidate版,不要用这个。