当前位置:首页 > 智能硬件 > 智能电网
[导读] 这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3

这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和2.x的区别。特此在自己的空间中记录一下,以备以后查找方便,也可以分享给想学习Python的friends.

1.性能 
Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可  
以取得很好的优化结果。  
Py3.1性能比Py2.5慢15%,还有很大的提升空间。  
2.编码  
Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:  
    >>> 中国 = 'china'  
    >>>print(中国)  
    china  
3. 语法 
1)去除了<>,全部改用!=  
2)去除``,全部改用repr()  
3)关键词加入as 和with,还有True,False,None  
4)整型除法返回浮点数,要得到整型结果,请使用//  
5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量  
6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数  
   例如:  
     2.X: print "The answer is", 2*2  
     3.X: print("The answer is", 2*2)  
     2.X: print x,                              # 使用逗号结尾禁止换行  
     3.X: print(x, end=" ")                     # 使用空格代替换行  
     2.X: print                                 # 输出新行  
     3.X: print()                               # 输出新行  
     2.X: print >>sys.stderr, "fatal error"  
     3.X: print("fatal error", file=sys.stderr)  
     2.X: print (x, y)                          # 输出repr((x, y))  
     3.X: print((x, y))                         # 不同于print(x, y)!  
7)改变了顺序操作符的行为,例如x 8)输入函数改变了,删除了raw_input,用input代替:  
   2.X:guess = int(raw_input('Enter an integer : ')) # 读取键盘输入的方法  
   3.X:guess = int(input('Enter an integer : '))

9)去除元组参数解包。不能def(a, (b, c)):pass这样定义函数了  
10)新式的8进制字变量,相应地修改了oct()函数。  
   2.X的方式如下:  
     >>> 0666  
     438  
     >>> oct(438)  
     '0666'  
   3.X这样:  
     >>> 0666  
     SyntaxError: invalid token (, line 1)  
     >>> 0o666  
     438  
     >>> oct(438)  
     '0o666'  
11)增加了 2进制字面量和bin()函数  
    >>> bin(438)  
    '0b110110110'  
    >>> _438 = '0b110110110'  
    >>> _438  
    '0b110110110'  
12)扩展的可迭代解包。在Py3.X 里,a, b, *rest = seq和 *rest, a = seq都是合法的,只要求两点:rest是list  
对象和seq是可迭代的。  
13)新的super(),可以不再给super()传参数,  
    >>> class C(object):  
          def __init__(self, a):  
             print('C', a)  
    >>> class D(C):  
          def __init(self, a):  
             super().__init__(a) # 无参数调用super()  
    >>> D(8)  
    C 8  
    <__main__.D object at 0x00D7ED90>  
14)新的metaclass语法:  
    class Foo(*bases, **kwds):  
      pass  
15)支持class decorator。用法与函数decorator一样:  
    >>> def foo(cls_a):  
          def print_func(self):  
             print('Hello, world!')  
          cls_a.print = print_func  
          return cls_a  
    >>> @foo  
    class C(object):  
      pass  
    >>> C().print()  
    Hello, world!  
class decorator可以用来玩玩狸猫换太子的大把戏。更多请参阅PEP 3129  
4. 字符串和字节串 
1)现在字符串只有str一种类型,但它跟2.x版本的unicode几乎一样。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭