day3 型別轉換

2021-10-07 21:34:45 字數 4388 閱讀 8644

2.自動型別轉換 number( int float bool complex)

3.容器型別的強制轉換(str list tuple set dict)

變數的快取機制 (僅對python3.6版本負責)

var1 =

99var2 =

98.789

var3 =

true

var4 =3-

4jvar5 =

"987"

var6 =

"abc123"

res =

int(var2)

#99res =

int(var3)

#1res =

int(var4)

#error

res =

int(var5)

#987

res =

int(var6)

#error

res =

int(var1)

#99.0

res =

int(var2)

#98.789 無需轉換

res =

int(var3)

#1.0

res =

int(var4)

#error

res =

int(var5)

#987.0

res =

int(var6)

#error

res =

int(var1)

#99 + 0j

res =

int(var2)

#98.789 + 0j

res =

int(var3)

#1 + 0j

res =

int(var4)

#無需轉換

res =

int(var5)

#987 + 0j

res =

int(var6)

#error

"""

bool為假的10種情況 0 0.0 0j false "" () set() {} none

#none 是系統關鍵字 用來初始化

"""

"""

自動型別轉換規則:預設由低精度 向 高精度自動轉換

bool > int > float > complex

"""

print

(false+3

)# 1 + 3 = 4

print

(true

+4.15

)# 1.0 + 4.15 = 5.15

print

(true+3

+4j)# 1 +0j + 3 + 4j = 4+4j

print(3

+4.6

)# 3.0 + 4.6 =7.6

print(10

+4-3j

)# 10 + 0j + 4 - 3j = 14 + 3j

print

(5.68+5

-100j

)# 5.68+0j + 5 - 100j = 10.68 - 100j

strvar =

'天氣,大海,acb'

listvar =

["周一"

,"周二"

,"週三"

]tuplevar =

("白天"

,"黑夜"

,"傍晚"

)setvar =

dictvar =

intvar =

4567

"""強轉成字串 在原有的資料基礎上加上引號"""

res =

str(listvar)

print

(res ,

type

(res)

)

print

(repr

(res)

)

"""

如果是字串 把字串的每個字元單獨作為乙個新元素放到列表中

如果是字典 只保留健 形成新的列表

如何是其他容器 在原有資料基礎上換上

"""res =

list

(strvar)

res =

list

(tuplevar)

res =

list

(setvar)

res =

list

(dictvar)

print

(res,

type

(res)

)

"""

如果是字串 把字串每個字元單獨作為乙個元素 放到新元組中

如果是字典 只保留健 形成新的元素

如果是其他容器 在原有的資料基礎上換上()

"""res =

tuple

(var)

"""

如果是字串 把字串的每個字元單獨的當做乙個新元素放到集合中

如果是字典 只保留健 形成新的集合

如果是其他容器 在原有的基礎上換上{}

"""res =

tuple

(var)

二級容器 (

list

tuple

setdict

)# 二級列表

lst =[1

,2,[

3,4]

]# 二級元組

tup =(5

,6,7

,(8,

9))# 二級集合

setvar =

# 二級字典

dic =

}# 獲取4這個元素

res = dic[

"b"]

print

(res)

# res2 = res[

"d"]

print

(res2)

# 簡寫一步

res = dic[

"b"]

["d"

]print

(res)

# 等長的二級容器 : 裡面的元素都是容器,容器裡面的元素個數都相同

lst =[(

1,2,

3),[

4,5,

6]]lst =[(

1,2)

,[4,

5]]# dict 強制轉換成字典

""" 強轉成字典時 , 必須是等長的二級容器,裡面的元素個數是2個 """

# (1) 外層是列表或者元組或者集合,裡面的容器是元組或者列表(推薦)

lst =[(

"a",1)

,["b",2]

]tup =((

"c",3)

,["d",4]

) setvar =

res =

dict

(lst)

# res =

dict

(tup)

# # (2) 裡面是集合的情況,存在侷限性(不推薦)

lst =[,

]# 因為集合無序,不符合定義的本意,不推薦使用

# (3) 裡面是字串的情況,語法上正確,但是有侷限性(不推薦)

lst =[(

"a",1)

,"b2"

]# 字串長度只能2個

# lst = [("a",1),"b23"] error

"""總結:

str() list() tuple() dict() set()

預設建立乙個該資料型別的值

"""

"""機制: 只有兩個值相同 就只開闢乙個空間

---整型---

# -->number 部分 : -5 ~ ∞(正無窮)

# -->float 部分 : 非負數

# -->bool 部分 : 值一樣

# -->complex 部分 : 正虛數

---容器型別---

# -->str 部分 : 字串相同

# -->tuple 部分 : tuple=() 空元組

"""

day16 型別轉換

2 隱式型別轉換 轉換成數字 true 1 false 0 ture false nan null 0 undefined nan變成整型數字,非四捨五入 重點不是轉成數字 重點是整型 提取數字 true false parseint string ture nan把數字當成基底 radix 2 3...

day05 型別轉換

int i 128 byte b byte i 記憶體溢位 double b1 i system.out.println i 128 system.out.println b 128 system.out.println b1 128.0低 高 byte,short,char int long fl...

Day3 資料型別

資料型別 c是有型別的語言,c語言的變數,必須 在使用前定義,並且要確定型別 c以後的語言向兩個方向發展 c語言的資料型別 型別有何不同 sizeof 是乙個運算子,給出某個型別或變數在記憶體中所佔的位元組數 用法如 sizeof int sizeof i 注意 sizeof是靜態運算子,它的結果在...