# -*- 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() |
