本博客已迁往http://coredumper.cn
数字
十六进制数以0x或0X开头
八进制数以0o或0O开头(0后面是小写或者大写的字母o)
二进制数以0b或0B开头
字符串
用来创建字符串的双引号" "和单引号' '是完全等价的,用哪个都行。这里有个小技巧,如果用单引号创建字符串,则字符串中可以直接使用双引号,不用转义,反之亦然。
没有字符的概念,即使只包含一个字符也是字符串。
在字符串前加上r或者R可以实现所见即所得,即原本那些特殊的转义字符都不再特殊,变成了它本身的字面意义,使用这种方法可以避免使用转义字符\。
不需要用'\0'表示字符串的结束。
空格' '、制表符'\t'、换行符'\n'在Python中都属于空白字符串。字符串的对象方法split()默认按空白字符串将目标字符串分割成字符串列表,如下所示:
s = 'a b\tc\nd'
L = s.split()
得到的L为['a', 'b', 'c', 'd']
字典
只有可哈希对象才可以作为字典的键。
像数字、字符串、元组(且元组中的元素必须是不可变的)、不可变集合这样的不可变类型是可哈希的,而像列表、字典、可变集合这样的可变类型是不可哈希的。
具有相同哈希值的对象不能同时作为一个集合的键,需要注意的是值相等的不同数字类型的对象的哈希值是一样的。
可以通过内建函数hash()来判断一个对象是否是可哈希的以及哈希值是多少。
集合
集合类似于字典的键。
可以通过字符串、列表、元组等可迭代对象创建集合,但是必须保证它们的元素是可哈希的,另外哈希值相同的对象会合并成一个对象,以下是几种可以成功创建集合的实例:
set('abc')
set([1, 2, 3])
set((1, 2, 3))
但是以下几种情况则会失败:
set([1, 2, [3, 4]])
set((1, 2, [3, 4]))
元组
当创建只含有一个元素的元组时,需要在那个元素后加一个逗号,以避免与圆括号的分组功能冲突。
虽然元组是不可变的,但是如果元组的元素是可变类型的,则该元素还是可以被改变的,例如:
T = (1, 2, [3, 4], 5)
T[2][1] = 6
此时T的值为(1, 2, [3, 6], 5)
所有用逗号分隔的多个对象,而且没有用符号定义的集合都默认为是元组类型,例如:
s = 1, 2, 3
print s
得到的结果为(1, 2, 3)
出于程序可读性的考虑,建议总是使用圆括号来表示元组。