Python小贴士之数字、字符串、字典、集合、元组

本博客已迁往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)
出于程序可读性的考虑,建议总是使用圆括号来表示元组。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值