1、数之间的转化
#浮点型to整型 >>> int(5.6) 5 #整型to浮点型 >>> float(5) 5.0
2、数与字符串
#字符串to整型 >>> int(') 10 #字符串to浮点型 >>> float('3.14') 3.14 #数to浮点型 >>> str(10) '
3、布尔数与其他
使用bool()函数强制转换对象为布尔数。若要转化的对象是0、0.0、''、None、或空序列,则转化后为false。
>>> bool() False >>> bool('') False >>> bool(' ') True >>> bool(0) False >>> bool(0.) False >>> bool(None) False >>> bool([]) False >>> bool({}) False
4、字符与ASCII编码
使用chr()和ord()函数进行字符与ASCII编码间的转化。
>>> ord('王') 29579 >>> ord('a') 97 >>> chr(46) '.' >>> chr(97) 'a'
5、进制转化
八进制、十六进制可直接参与计算,输出十进制的结果,如:
>>> 0x16 + 1 23
这里的八进制、十六进制指其字符串形式。
#十进制to十六进制 >>> hex(16) '0x10' #十进制to八进制 >>> oct(8) '0o10' #十六制to十进制 >>> int('0x16',16) 22 #八进制to十进制 >>> int('0o16',8)
6、序列、字典、集合间的转化
序列包括字符串、元组和列表。列表和字典是python中的主力数据结构。
- 元组转化
#转化自字符串 >>> tuple('foundyou') ('f', 'o', 'u', 'n', 'd', 'y', 'o', 'u') #转化自列表 >>> tuple([[1, 2, 3], ['a', 'b', 'c']]) ([1, 2, 3], ['a', 'b', 'c']) #转化自集合 >>> tuple({1, 2, 4}) (1, 2, 4)
- 列表转化
#转化自字符串 >>> list('whatareyou') ['w', 'h', 'a', 't', 'a', 'r', 'e', 'y', 'o', 'u'] #转化自元组 >>> list(((1, 2), (3, 4))) [(1, 2), (3, 4)] #转化自集合 >>> list({1, 2, 3}) [1, 2, 3] #转化自字典,结果为字典的key形成的列表 >>> list({1 : 2, 3 : 4}) [1, 3]
- 字典转化
#转化自列表,元组同理 >>> dict([[1, 3], ['s', 78]]) {1: 3, 's': 78} #还可通过zip()函数“配对”后再转化 >>> dict(zip([1, 2], [3, 4])) {1: 3, 2: 4}
- 集合转化
#转化自字符串 >>> set('how to quit u') {'t', 'w', 'h', 'o', 'u', 'q', 'i', ' '} #转化自列表,元组同理 >>> set([1, 2, (2, 3)]) {1, 2, (2, 3)}
这些转换可以只记住基本的,使用时就地测试。