1. 程式人生 > >python 基礎之python的六大標準數據類型

python 基礎之python的六大標準數據類型

引號 {} .... 排序 tro complex 其他 有意思 type

一: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) #轉成

2進制的數
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 布爾類型
(只有TureFalse兩種狀態)

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)
print(complexvar,type(complexvar),id(complexvar))

二: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列表類型

  1. 定義一個空列表
    ‘‘‘ 特征: 可獲取 可修改 有序‘‘‘
    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的六大標準數據類型