我們都學了列表,列表是可以讓乙個變數儲存多個資料,
info = ['jason', 18, 'read', 19, 888, 110, 'matao']
不難看出,雖然列表能夠儲存多個資料,但是我們並不知道這個資料是什麼意思,因此字典就應運而生。
能夠比較精確的儲存資訊或者資料,字典的內容用大括號{}括住,它的元素是以 key:value 的形式儲存的,key一般都是字串,value可以當作變數的值,具體形式如下 :
info =
print(info) # 結果為:
注意!字典裡面的資料都是無序的,因此不能使用索引取值,但是可以通過冒號前面的key取value的值。
info =
print(info('name'))
jason # 執行結果
那麼字典是否可以像列表一樣巢狀呢,答案是可以的
addr = , '泰國']}
但是這樣又如何取值的,我們可以回憶列表的取值方式,結合列表和字典的取值方式,同樣用中括號如下
# 假如我們需要取'上海'這個值
print(addr['地球'][2]['中國'])
上海 # 結果
# 因為上海的外層有三層中/大括號,所以我們只需要用三個中括號即可找出'上海'這個值
其實無論字典的內容有多長多複雜都可以通過拆解的方式進行分割從而找到所需要的值,如下。
addr = ,
'泰國']}
# 這樣看起來是不是就一目了然了呢
用大括號括起來,內部存放多個元素,用逗號隔開,但是不是k:v鍵值對,舉例如下:
s =
注意:如果大括號定義空的資料如 a = {},則這個資料型別預設為字典。
跟列表幾乎一致,只不過是用小括號括起來,內部存放多個元素,元素之間用逗號隔開,可以是任意資料型別。
另外,由於元組一般儲存一些不可變的內容,因此元組又叫不可變的列表,如下:
t = (1, 2, 3, 4, 5, 'jason', 2.5)
元組的取值方式也是和列表一樣的,
t1 = (1, 2, 3, 4, 5, 'jason', 2.5)
print(t[5])
jason # 執行結果
用來描述事物的對錯,是否可行,主要用於邏輯判斷,只有兩種狀態
true
false
注意:
針對諾布林值的變數名,一般採用is開頭,如下
is_right = true
is_left = false
is_die = true
username = input('請輸入您的姓名:')
注意:input獲取到的使用者輸入都會轉成字串型別
print(username)
print(username, hobby, age) # print可以列印多個資料
編寫方式:
按照我的理解就是,先使用帶有某種格式的語句,裡面需要替換的資料用佔位符%s和%d代替,如下:
print(s % ('馬雲', '1月1日', '上海市浦東新區周浦鎮澄天偉業' ))
可以看出來,通過使用%s,我們可以替換相應的資料,那麼結合與使用者互動的知識,如何寫出乙個程式來讓使用者輸入然後替換相應的值呢?如下:
username = input('請輸入你的名字:')
age = input('請輸入你的年齡:')
print('我的名字是%s,我今年%s歲。' % (username, age))
請輸入你的名字:馬雲
請輸入你的年齡:18
我的名字是馬雲,我今年18歲。 # 執行結果
%s可以給任意資料佔位
%d只能給數字佔位
%d使用例如'%08d',代表從0到8的8位數,如下:
print('%08d' % 110)
00000110 # 執行結果,固定8位數
print('%09d' % 119)
000000119 # 執行結果,固定8位數
print('%07d' % 123456789)
123456789 # 執行結果,固定7位數,超出幾位就是幾位
乘(*) 除(/) 整除(//) 取餘(%) 等於(==)
x = 1
y = x
z = y
簡化: x = y = z
m = 1
n = 2
思考:如何讓m與n的值調換一下呢?
# 方式1:使用第三方變數
tem = m
m = n
n = tem
print(m, n)
2 1 # 執行結果
# 方式2:交叉賦值
m, n = n, m
print(m, n)
2 1 # 執行結果
建立乙個列表name_list:
name_list = ['馬雲', '馬化騰', '任正非']
name1, name2, name3, = name_list
print(name1, name2, name3)
馬雲 馬化騰 任正非 # 執行結果
由此可見解壓賦值可以批量賦值給列表裡面的多個資料,但是注意:
t = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a, b, *_ = t
print(a, b)
1 2 # 執行結果
a, *_, b = t
print(a, b)
1 10 # 執行結果
由此可見*+任意字元可以代表多個資料,一般我們不用的資料用_表示。
and (與)
or (或)
not (非)
and,or,not,在一起使用的時候其實是有優先順序的,但是我們不需要記,因為我們可以人為地將它們分類,強制規定好順序,例如:
(3<4 and 2<1) or ((5 == 6 and 1 == 1) or '馬雲' == '馬雲')
這樣在執行地時候就可以按照括號裡面的先執行,在執行括號外面的了,就像數學(1+1)*5=10一樣。
成員運算是判斷個體在不在群體內
in
not in
m = ['jason', '馬雲', 'tony']
print('馬雲' in m)
print('tony' not in m)
true # 結果為true
false # 結果為false
由此可見,這是乙個判斷的命令,所以最後轉成了bool值,通過布林值能夠確定資料在不在m裡面。
==:判斷兩個資料的值是否相等
由於身份運算也是個判斷句式,因此結果也是輸出乙個bool值,如下
m = 1
n = 1
print(m is n) # 結果為true
print(m == n) # 結果為true
好了今天的內容就到此結束了,有很多新的名詞以及知識點,需要我們去熟悉,通過敲**不斷實踐才能刻在腦子裡,加油!!! 2022 3 7筆記總結
控制事物的執行流程 2.1 順序結構 自上而下依次執行,我們一般使用的結構都是順序結構。2.2 分支結構 一般遇到判斷型的問題才會產生不同的分支和結果 2.3 迴圈結構 在某種條件下不停重複同樣的事,即在該結構下的 都會反覆執行。3.1 縮排 python中用縮進來表示 的從屬關係,如下 if re...
Thinkphp6筆記 總結
thinkphp6 thinkphp到thinkphp6,從模組概念變成多應用概念 預設thinkphp6實用api開發,因為有些外掛程式預設不載入,減少負載 總結如下 記住標題,比內容更重要 mvc框架大多數都這個套路 模型 檢視 控制器 中介軟體 公共函式 常用常量 語言包 驗證器 要快速的學會...
教父3 筆記
教父3是一部很矯情的 原因在於教父3就是一部斬草不除根,然後還亮將禍患留在自己身邊,首領貼心照顧偏愛這個禍害,禍害長大了開始秘密禍害這個家族,然後首領還是不忍心處理掉這個禍害,忠心耿耿的手下被殺才布局讓手下去除掉禍害!大部分時間講述好萊塢的各種齷齪和骯髒,我猜想國內大部分是看電影過來的,如果以閱讀 ...