python入門第四課——數據類型轉換

一、類型轉換的函數

類似於c語言中的強制類型轉換。

二、Non-String轉換成String

(一)Str()函數

str()是最常用的轉換為String的內建函數,可以接受任意對象,並將其轉換為String類型。若object為String類型,則返回一個同類型的對象。

在轉換為String後無論是原來的特殊符號還是空格符都會成為String的元素之一,似乎是在整個變數的值的外頭加了一個「」。

1、List對象轉換成String

實例一:

list1=["one","two","there"]print "列表:",list1 str1=str(list1) print "str1是:",str1 print "str1[0]是:",str1[0]

結果:

列表: [one, two, there]

str1是: [one, two, there]

str1[0]是: [

#結果中的list1是一個字元串「[one, two, there]」

#第一個元素是「[」

#print "字元串:",str1

print "列表:",list1

列印出來的結果看似是一樣的,但是如果指定列印的某個元素就能看出區別:

print "字元串:",str1[0] 結果:[

print "列表:",list1 結果:one

-------------------------------------------------------------------

實例二:

# list -> str str2=".".join(list1) print str2

結果:

one.two.there

注意:

#".".join(list1)結果是 one.two.there

#"".join(list1)結果是 onetwothere

2、Tuple對象轉換成String

實例:

tup=(a,b,c)print str(tup)

#結果是「(a, b, c)」

#print str(tup)[0] #結果是「(」

3、Dictionary轉換成String

實例:

dict={"1:":one,2::two} print str(dict)

#結果是:「{"1:":one,2::two}」

(二)str() 和repr()的區別

主要的區別就在repr()支持eval(repr(object)) == object。意思是,元素object轉換成字元串形式(repr(object))之後,可以通過eval()函數轉換回原來的樣子。

eval()

三、Non-int 轉換成int

Int型的最大值僅與系統位數有關,32位:maxInt == 2**(32-1)-1 ; 64位:maxInt == 2**(64-1)-1。可以通過sys.maxint 來查看:

1、long轉換成int

當一個Long > sys.maxint(2**63-1)時,Long類型對象是無法轉換為Int的。詳情:

http://blog.csdn.net/jmilk/article/details/49720611#non-string轉換為string

2、float轉換成int

實例:

print "這個數是:",int(12.5)

結果:12

3、String轉換成int

(1) 10進位string轉換成int

print int(12)

結果:12

(2) 16進位string轉換成int

print int(12,16)

結果:18

print int(aaa,16)

結果是:2730

』aaa』為16進位的一個參數, 參數16表示第一個參數是16進位的。int()轉換以後獲得10進位數,若不指明』aaa』的進位,則會報錯。

四、Non-long轉換成long

num=long(20)print type(num)

結果:<type long>

1、int 轉換成long

int型轉換為long型不需要強制類型轉換,這就是相對的隱式類型轉換,系統會在後台完成。

2、Float 轉換成long

向下取整。實例:

print long(10.2)

結果:10

3、String轉換成long

(1) 10進位string轉換成long

print long(10)

結果:10

注意:不能long(10.2)

(2)16進位string轉換成long

print long(aaa,16)

結果:2730

Int與Long類型的數據非常類似,唯一的區別在於,Long類型的數據範圍更加大。(Int)

五、Non-float轉換成float

當參數為String時,只能出現數字和一個點額任意組合,若出現多個點號,則會出現異常。

Float()的參數只能是string 和整數。

六、轉換成 list

(一)string轉換為list

List(str1)

推薦閱讀:

雨沐田:數據分析有什麼作用呢?
數據分析學習日記一 學習計劃
Python SimPy 模擬系列 (2)
用數據講故事
MySQL入門

TAG:數據分析 | Python入門 |