Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185281
  • 博文数量: 40
  • 博客积分: 1900
  • 博客等级: 上尉
  • 技术积分: 450
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-06 21:31
文章分类
文章存档

2009年(16)

2008年(24)

我的朋友

分类: Python/Ruby

2009-01-09 11:07:06

在Python2.5/2.6之前,我们可以说python插件的数据类型有:
整型、长整型、浮点型、字符串、布尔型、列表和元组、字典、当然还有xrange,None型等等

在Python 3.0中,长整型消失,只有一个整型,可以无限长度(整型的实现跟具体硬件无关了,跟以前的长整型类似),但长整数不再需要L尾巴。

另外一个数据类型就是set,集合。

其实集合这种类型以前就有,只不过初始化和表现有些奇怪:

以前的初始方法是有
s=set(Squence)一种显式的方法,

而输出结果看起来像这样:
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

具体参考http://www.python.org/dev/peps/pep-0218/,里面定义了set的方法和运算符。

此外,Python还提供了sets模块,里面定义了Set和ImmutableSet两种实现。

无论如何,看起来,以前的set更像个函数而不是内置的数据结构:-

在Python 3.x中,这个改变是非常明显的,sets模块消失,set()内建函数消失。

而正确的创建一个集合的语法变成了:

s={1,2,3},用花括弧的方法。

s={(1,2,3)},只会构造包含一个元素(该元素为元组)的集合。


现在看起来集合在Python中,更像是跟list/turple/dict一致的内建数据类型,而这个语法,也是PEP 218最初的建议。

list用方括号
turple用小括号
dict用花括号。
现在set用的也是花括号了。

这个变化,应该算是Python 3.0比较大的语法变化之一。
阅读(960) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~