WEB开发网
开发学院软件开发Python 抢“鲜”体验Python 3.0 阅读

抢“鲜”体验Python 3.0

 2007-09-08 12:53:29 来源:WEB开发网   
核心提示: 8)新式的8进制字面量,相应地修改了oct()函数,抢“鲜”体验Python 3.0(2),2.x这样:>>> 0666438>>> oct(438)'0666'3.0这样:>>> 0666SyntaxError: in

8)新式的8进制字面量,相应地修改了oct()函数。2.x这样:

>>> 0666
438
>>> oct(438)
'0666'

3.0这样:

>>> 0666
SyntaxError: invalid token (, line 1)
>>> 0o666
438
>>> oct(438)
'0o666'

9)增加了2进制字面量和bin()函数:

>>> bin(438)
'0b110110110'
>>> _438 = '0b110110110'
>>> _438
'0b110110110'

10)扩展的可迭代解包。在Py3.0里,a, b, *rest = seq 和 *rest, a = seq都是合法的,只要求两点:rest是list对象和seq是可迭代的。

11)新的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>
12)       新的metaclass语法:
class Foo(*bases, **kwds):
pass

13)支持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可以用来玩玩狸猫换太子的大把戏。

上一页  1 2 3 4  下一页

Tags:体验 Python

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接