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是靜態運算子,它的結果在...