# -*- coding: UTF-8 -*- import sys # 这个例子主要是了解python的字符串和int/long/float等类型的转换关系 # int string转int a = "123" print(int(a)) #字符串转换为int # 字符串无法转换为int a = "aa" #print(int(a)) #Error ValueError: invalid literal for int() with base 10: 'aa' # 非纯数字转换为int报错 a = "1aa" # print(int(a)) # ValueError: invalid literal for int() with base 10: '1aa' # 浮点string转float b = "123.1" # print(int(b)) #Error ValueError: invalid literal for int() with base 10: '123.1' print(float(b)) #转换为float, 无法直接转换为int # 浮点string转int b = "1.1" print(int(float(b))) #转换为int # long()函数已经过时 推荐使用int() # 不仅python3可以用int()来处理long整形 python2.7.10也是ok的 # 这里要注意的是long()函数只是python2支持 python3是不支持的 python3中将int和long统一使用int()函数来处理 但是支持的数据类型为long c = 1 + int(1) #long和int可以直接相加 print(c) c = 1.0 + int(1) #long和float可以直接相加 print(c) longData = "1234567890111112222211" print(type(int(longData))) #python2.7.10已经可以用int函数来返回long类型了 print(type(sys.maxint)) #9223372036854775807 # int|long|float转string t = 1 print(str(t)) t = sys.maxint + 1 #9223372036854775808 print(str(t)) t = 123.123 print(str(t))
上面的代码主要涉及:
int-string 互转
long-string 互转
float-string 互转
没有涉及int的10-8-16进制互转,已经string直接转8-16进制。更多的函数请参考:https://www.cnblogs.com/liuyutan/p/13279876.html
为了防止链接丢失,列出其他转换函数:
函数 | 功能描述 |
complex(real[,imag]) | 复数 |
repr(x) | 将对象x转换为表达式字符串 |
eval(str) | 执行一个字符串表达式,返回对象 |
tuple() | |
list() | |
set() | |
dict() | |
fronzenset() | |
chr() | |
unichr() | |
ord() | |
hex() | |
oct() |