>>> import decimal>>> PRint decimal.Decimal(1.1)1.100000000000000088817841970012523233890533447265625
python 2.3开始,超出整型范围的会自动转换为长整型。
>>> pystr = "python">>> pystr[0]'p'>>> pystr[2:4]'th'>>> pystr + ' cool''python cool'>>> pystr * 2'pythonpython'
列表(list)
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
>>> pylist = [x ** 2 for x in range(4)]>>> type(pylist)<type 'list'>>>> print pylist[0, 1, 4, 9]
>>> pya = (x ** 2 for x in range(4))>>> type(pya)<type 'generator'>>>> for i in pya: print i
列表同样满足索引操作([]),切片操作([:])
元组(Tuple)
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
元组同样满足索引操作([]),切片操作([:])
字典(dictionary)
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
集合(set)
>>> # 集合set的简单操作>>> s = set('python') # 利用工厂函数set()创建集合>>> sset(['h', 'o', 'n', 'p', 't', 'y'])>>> 'p' in s # 判断元素是否在集合中True>>> set('py') < s # 子集True
可以看到上面,集合的打印结果是无序的,而且以上只是简单举例集合操作,想要了解更多关于集合的操作可以使用函数dir() 和help()查看。
可变对象(mutable)和不可变对象(immutable)的区别
首先再次声明,在python中所有的类型操作都作为对象处理,而且对变量的使用不需要预先声明类型(其实这里不该使用“变量”描述,姑且用“变量”代替吧),python会根据变量的值动态确定变量类型并存储在内存中(这是python的一大特点),对于immutable类型,若要改变它的值,采取的机制是分配一个新的对象(这里不必担心内存浪费的情况,python有自己的一套内存回收机制);而对于mutable 类型还是在原来的内存地址上进行操作,~~类似于在C++ 中的引用。
下面给以上类型分分类:
不可变对象(mutable):Number , String , tuple , frozenset
可变对象(immutable):list , dictionary , set
新闻热点
疑难解答