抢“鲜”体验Python 3.0

豆豆网   技术应用频道   2007年09月08日    社区交流

内容摘要:2007年8月31日,Python 3000的最新版本Py3.0终于释出了第一个alpha版本。虽然Py3.0的final版本要到08年8月才会释出,但我们仍然可以从a1版本看到很多Py3.0的新特性,现在我们就来体验一下。

  14)raise语句的语法改变。

  字符串和字节串

  1)Py3.0去除了unicode类型,现在字符串只有str一种类型,但它跟2.x版本的unicode几乎一样。

  2)关于字节串。

  数据类型

  1)Py3.0去除了long类型,现在只有一种整型——int,但它的行为就像2.x版本的long。

  2)新增了bytes类型,对应于2.x版本的八位串,定义一个bytes字面量的方法如下:

>>> b = b'china'
>>> type(b)

  str对象和bytes对象可以使用.encode() (str -> bytes) or .decode() (bytes -> str)方法相互转化。

>>> s = b.decode()
>>> s
'china'
>>> b1 = s.encode()
>>> b1
b'china'

  3)dict的.keys()、.items和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有dict.has_key(),用in替代它吧!

  面向对象

  1)引入抽象基类(Abstraact Base Classes,ABCs)。

  2)容器类和迭代器类被ABCs化,所以cellections模块里的类型比Py2.5多了很多。

>>> import collections
>>> print('
'.join(dir(collections)))
Callable
Container
Hashable
ItemsView
Iterable
Iterator
KeysView
Mapping
MappingView
MutableMapping
MutableSequence
MutableSet
NamedTuple
Sequence
Set
Sized
ValuesView
__all__
__builtins__
__doc__
__file__
__name__
_abcoll
_itemgetter
_sys
defaultdict
deque

  另外,数值类型也被ABCs化。关于这两点。

来源:Csdn    作者:恋花蝶    责编:豆豆技术应用

正在加载评论...