#(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))算法
#表示方法一
floatvar = 3.14
print(floatvar,type(floatvar),id(floatvar))
#表示方法二 (科學計數法)
floatvar = 5.88e-2
print(floatvar,type(floatvar),id(floatvar))
floatvar = 4.11e3
print(floatvar)spa
boolvar = True
print(boolvar,type(boolvar),id(boolvar))
boolvar = False
print(boolvar,type(boolvar),id(boolvar))排序
複數: 實數 + 虛數
j : 若是有一個數,它的平方等於-1,那麼這個數就是j
科學家認爲有,屬於高精度的類型
#表示方法一
complexvar = 4+3j
print(complexvar,type(complexvar),id(complexvar))
#表示方法二
#complex(實數部分,虛數部分)
complexvar = complex(8,-3)
print(complexvar,type(complexvar),id(complexvar))內存
定義:用引號引發來的就是字符串字符串
轉義字符:
(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)class
''' 特徵: 能夠獲取 不可修改 有序'''
#獲取字符串當中的元素 可使用下標
tuplevar = "我們班只有一個美女"
res = tuplevar[-2]
print(res)
#修改行不行? 不行
#tuplevar[-2] = "靚" error變量
特徵: 可獲取 可修改 有序
listvar = []
print(listvar)
print(type(listvar))List
# 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)
特徵:可獲取 不可修改 有序
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
# 集合 做用:交集 差集 並集 補集 (功能是用來作交叉並補的)
特徵; 自動去重 無限
setvar = set() #set 強制轉換成一個空集合的數據類型
print(setvar,type(setvar))
setvar = {"劉德華","蔡卓妍","李宇春","汪洋"}
print(setvar)
#是否能夠獲取集合當中的值?不行
#setvar[1] error
#是否能夠修改集合當中的值? 不行
#setvar = 123 error
setvar = {"劉德華","蔡卓妍","李宇春","汪洋","李宇春"}
print(setvar)
特徵:鍵值對存儲的數據 無序
#字典 3.6版本 看起來有序,本質上無序 ,由於底層使用了哈希算法,它存儲的數據是散列。
dictvar = {}
print(dictvar,type(dictvar))
# 它是有鍵值對存儲的數據,冒號左邊的是鍵,右邊的是值,鍵值對之間用逗號隔開
dictvar = {"top":"關羽","middle":"小喬","bottom":"後裔","jungle":"盲僧","support":"機器人"}
print(dictvar)
res = dictvar["bottom"]
print(res)
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