python 基礎之python的六大標準數據類型
一:Number 數字類型(int float bool complex)
1.整型: (正整數 0 負整數)
#(1)二進制用0b表示
intvar = 0b1010
print(intvar)
print(type(intvar)) #獲取intvar類型
print(id(intvar)) #獲取到16進制
#type 可以獲取到變量的類型
#id 可以獲取該變量所指向的那個值的地址
a = 5
#八進制用0o表示
intvar = 0o127
print(intvar)
print(type(intvar))
print(id(intvar))
#十六進制是用0x來表示
intvar = 0xff
print(intvar) #轉成
print(type(intvar))
print(id(intvar))
intvar = 0
print(intvar,type(intvar))
intar = 0
print(intvar,type(intvar))
2.float浮點型(小數類型)
#表示方法一
floatvar = 3.14
print(floatvar,type(floatvar),id(floatvar))
#表示方法二 (科學計數法)
floatvar = 5.88e-2
print(floatvar,type(floatvar),id(floatvar))
floatvar = 4.11e3
print(floatvar)
3.bool 布爾類型
boolvar = True
print(boolvar,type(boolvar),id(boolvar))
boolvar = False
print(boolvar,type(boolvar),id(boolvar))
4.complex 復數類型
‘‘‘
復數: 實數 + 虛數
j : 如果有一個數,它的平方等於-1,那麽這個數就是j
科學家認為有,屬於高精度的類型
‘‘‘
#表示方法一
complexvar = 4+3j
print(complexvar,type(complexvar),id(complexvar))
#表示方法二
#complex(實數,虛數)
complexvar = complex(8,-3)
二:String字符串類型
定義:用引號引起來的就是字符串
轉義字符:
(1)將有意思的字符變得無意義
(2)將無意義的字符變得有意義
語法: \ + 某字符
\n \r\n : 代表換行
\t : 代表一個縮進 水平制表符
\r :將後面的字符串拉到當前行首
\
‘‘‘
#(1)單引號引起來的字符串
strvar = ‘今天天氣很好‘
print(strvar,type(strvar),id(strvar))
#(2)雙引號引起了字符串
starvar = "小樓昨夜又東風"
print(starvar,type(starvar),id(starvar))
starvar1 = "小樓‘咋啦‘" #外面是雙引號,裏面需要單引號,與註釋的嵌套註意點相同
print(starvar1,type(starvar1),id(starvar1))
#換行用法
starvar2 = "故國不堪回首\n明月中"
print(starvar2,type(starvar2),id(starvar2))
#\用法
starvar3 = "故國不堪回\"首\"明月中"
print(starvar3)
#(3)三引號引起來的字符串
strvar = """
本來無一‘物‘,
何處惹"塵"埃。
"""
print(strvar)
strvar1 = ‘‘‘
哈哈哈哈
噢噢噢噢
‘‘‘
print(strvar1)
#(4)元字符串 r "字符串" (讓字符串裏面的轉義字符失效)
starvar5 = r"今天天氣真好\n哈哈哈"
print(starvar5)
#(5)字符串的格式化
"""
%d :整型占位符
%f :浮點型占位符
%s :字符串占位符
語法: "字符串 占位符" % (實際值)
語法: 字符串 % (值1,值2,值3....)
"""
# %d
starvar6 = "今天買了%d個盆" %(5)
print(starvar6)
# %2d 站兩個位置 默認居右
strvar7 = "昨天買了%2d斤水果" % (5)
print(strvar7)
# %-2d 站兩個位置,默認居左
strvar8 = "今天買了%-2d個桶" %(6)
print(strvar8)
# float 小數點後默認保留6位
strvar9 = "今天付錢多少 %f " %(9.99)
print(strvar9)
#設置保留2位
strvar10 = "今天付錢多少 %.2f " %(9.99)
print(strvar10)
#設置保留一位,精確位數的時候,有四舍五入的規定
strvar11 = "今天付錢多少 %.1f " %(9.99)
print(strvar11)
# %s
aa = "ten"
strvar12 = "%s" %(aa)
print(strvar12)
#綜合案例
strvar13 = "誰開工資了,一共%d元,一輛車%d元,心情%s" %(12900,21313,"很好")
print(strvar13)
‘‘‘ 特征: 可以獲取 不可修改 有序‘‘‘
#獲取字符串當中的元素 可以使用下標
tuplevar = "咱們班只有一個美女"
res = tuplevar[-2]
print(res)
#修改行不行? 不行
#tuplevar[-2] = "靚" error
三:List列表類型
- 定義一個空列表
‘‘‘ 特征: 可獲取 可修改 有序‘‘‘
listvar = []
print(listvar)
print(type(listvar))
# 0 1 2 3 4 5 正向下標
listvar = ["明天",2,3.14,True,False,3-2j]
# -6 -5 -4 -3 -2 -1 逆向下標
print(listvar)
# (1)列表的獲取 通過下標獲取對應的值
res = listvar[3]
print(res)
#能夠通過逆向下標瞬間得到 列表裏面的最後一個值
#res <==>result
res = listvar[-1]
print(res)
#獲取列表最後一個值 通過做法
#len 獲取列表的長度(元素的個數)
lengthvar = len(listvar)
print(lengthvar)
res2 = lengthvar - 1
print(res2)
print(listvar[res2])
#簡寫
print(listvar[len(listvar)-1])
#(2)列表的修改
listvar[3] = "201904251725"
print(listvar)
四:Tuple 元組類型
‘‘‘ 特征:可獲取 不可修改 有序‘‘‘
1.定義一個空元祖
tuplevar = ()
print(tuplevar,type(tuplevar))
# 見證是不是元組,取決於逗號,但是聲明空元組時可以使用()
tuplevar = ("one",)
print(tuplevar,type(tuplevar))
2. 獲取元組中的數據
tuplevar = ("劉德華","周星馳","李宇春","汪洋")
print(tuplevar)
print(tuplevar[2])
print(tuplevar[-1])
# 是否可以修改元組中的值? 不允許
#tuplevar[0] = 1 error
五:Set集合類型
# 集合 作用:交集 差集 並集 補集 (功能是用來做交叉並補的)
‘‘‘‘
特征; 自動去重 無限
‘‘‘
1.定義一個空集合
setvar = set() #set 強制轉換成一個空集合的數據類型
print(setvar,type(setvar))
setvar = {"劉德華","蔡卓妍","李宇春","汪洋"}
print(setvar)
2.集合不能夠修改或者獲取其中的數據
#是否可以獲取集合當中的值?不行
#setvar[1] error
#是否可以修改集合當中的值? 不行
#setvar = 123 error
3.集合能夠自動去重
setvar = {"劉德華","蔡卓妍","李宇春","汪洋","李宇春"}
print(setvar)
六:Dict 字典類型
‘‘‘ 特征:鍵值對存儲的數據 無序‘‘‘
#字典 3.6版本 看起來有序,本質上無序 ,因為底層使用了哈希算法,它存儲的數據是散列。
1.定義一個空字典
dictvar = {}
print(dictvar,type(dictvar))
# 它是有鍵值對存儲的數據,冒號左邊的是鍵,右邊的是值,鍵值對之間用逗號隔開
dictvar = {"top":"關羽","middle":"小喬","bottom":"後裔","jungle":"盲僧","support":"機器人"}
print(dictvar)
2.獲取字典當中的值
res = dictvar["bottom"]
print(res)
3.修改字典當中的值
dictvar[‘middle‘] = "王昭君"
print(dictvar)
"""
可哈希數據:
可哈希數據 (不可變的數據): Number (int float bool comple ) str tuple
不可哈希的數據 (可變的數據): list set dict
"""
dictvar = {1:111,3.14:222,False:232,3+4j:131321,"dada":666}
print(dictvar) #字典裏包含其他各種數據類型
#一般在命名字典的鍵時,推薦使用字符串,按照變量命名的字符串
字典,集合與哈希算法需要註意
```
哈希算法
定義:
把不可變的任意長度值計算成固定長度的唯一值,這個值可正可負,可大可小,但長度固定
該算法叫哈希算法,這個固定長度值叫哈希值
特點:
哈希過的數據存儲時,是一個隨機存放的散列,並不是按照次序依次存放的,
所以通過哈希算法存儲數據的速度較快.
查找:
字典的鍵就是按照哈希算法算出來的,可以通過該鍵找散列中的對應值,形成映射關系
集合中的值也是通過哈希算法計算後存儲的
所以集合,字典本質上無序
版本:
3.6版本之前都是無序的
3.6版本之後,把字典的字面順序記錄下來,當從內存拿數據的時候,
根據字面順序重新排序,所以看起來像有序,但本質上無序
可哈希數據:
可哈希的數據 (不可變的數據):Number(int float bool complex) str tuple
不可哈希的數據 (可變的數據): list set dict
```
python 基礎之python的六大標準數據類型