(三) 學(xué)習(xí)筆記:python的數(shù)據(jù)類型,操作符和流程控制

一.dictionary 字典

語法格式: {鍵:值}(即鍵值對)
實(shí)例:

mydict = {'name':'張三', 'age':18}

字典中值的添加:
當(dāng)給字典添加一個不存在的鍵的時候?yàn)樘砑?/p>

myDict = {'name':'張三'}
myDict['age'] = 18  # 將age:18,添加到myDict里

字典的值的修改:
當(dāng)給字段中已經(jīng)存在的鍵賦新的值的時候,是對鍵key的值進(jìn)行修改

myDict = {'name':'張三'}
myDict['name'] = '李四'  # 將鍵key為name的值修改為李四

字典值的刪除:
字典中值的刪除是通過字典里的唯一的鍵進(jìn)行刪除

myDict = {'name':'張三'}
del myDict['name']  # 將key為name的刪除

使用dict() 將鍵值對的序列構(gòu)造成字典

# 使用dict()方法強(qiáng)轉(zhuǎn)為字典
myList = [('name', 'zs'), ('age', 18), ('sex', ‘男’)] 
myList = [{'name','zs'}, {'age', 18}, {'sex', '男'}]
myList = [['name', 'zs], ['age', 18], ['sex', '男']]
print(dict(myList))  # {'name':'張三','age':18,'sex':'男'}

注意:
1> 字典是一種映射類型, 元素是鍵值對的形式
2>字典的鍵為不重復(fù)類型(可以重復(fù)直砂,但是后面的值會覆蓋前面的值)
3>創(chuàng)建一個空字典使用{}
4>字典的取值是通過唯一的key,而不是通過索引的偏移量

字典的常用函數(shù)

函數(shù)名 函數(shù)說明
myDict.items() 返回一個能被for循環(huán)遍歷的列表,每個元素為鍵值組成的元組
myDict.clear() 清空字典
myDict.keys() 獲取字典所有的鍵
myDict.values() 獲取字典所有鍵對應(yīng)的值
myDict.pop(key) 彈出key對應(yīng)的值, 并返回,若字典為空, 執(zhí)行會報錯
myDict.popitem() 彈出字典最后一個鍵值對, 以元組的形式返回,若字典為空會報錯
myDict.copy() 字典的淺拷貝
copy.deepcopy(myDict) 字典的深拷貝

二. 運(yùn)算符

(一) 算數(shù)運(yùn)算符

包括:
+運(yùn)算, -運(yùn)算, *運(yùn)算, /運(yùn)算, %運(yùn)算
**:x的y次方
// 整除運(yùn)算(如果參與運(yùn)算的x和y都為整形, 結(jié)果為整形,x和y都一個為浮點(diǎn)型結(jié)果為浮點(diǎn)型)

(二) 比較運(yùn)算符

==等于, != 不等于, >大于, <小于, >= 大于等于, <=小于等于

# python可以多個值一起比較大小
print(1<10<5)  # False
print(1 < 3 < 5)  # True 3大于1且小于5

(三) 賦值運(yùn)算符

在python中賦值運(yùn)算符包括:+=, -=, *=, /=, %=, **=, //=

(四) 邏輯運(yùn)算符

and 邏輯與,兩側(cè)都為真才為真 a and b
or 邏輯或, 一側(cè)為真就為真 a or b
not 邏輯非, 真為假, 假為真 not a

實(shí)例:

# 如果第一側(cè)為真,會返回第二側(cè)的值
print(10 and 20)  # 20
print(10 and 0)  # 0
print(10 and False)  # False
# 如果第一側(cè)為假浩习,返回假的值
print(0 and 2)  # 0
print(3>5 and 1>2)  # False
print(1<2 and 3>2)  # True 兩側(cè)為真

#對or的操作
# 如果前面為真静暂,返回前面的值, 前面為假返回后面(第二側(cè))對應(yīng)的值
print(1 or 2)  #1
print(True or 5)  # True
print(0 or 2)  # 2
print(False or 0)  # 0
print('a' or 0)  # a

(五) 成員運(yùn)算符

in 值在指定的序列中返回真
not in 值不在指定的序列中返回真

(六) 身份運(yùn)算符

is 判斷兩個標(biāo)識符是否引用同一個對象
is not 判斷兩個標(biāo)識符是否不是引用同一個對象

實(shí)例:

x = 3
y = 3
z = 4
# 通過id() 方法查看變量所存儲得到地址編號
print(id(x))  # 一個地址編號假設(shè)為138241111
print(id(y))  #  同上138241111
print(id(z))  #  與上面的不同假設(shè)為138241122
print(x is y)  # True
print(x is z)  # False

==與is的區(qū)別:
==是判斷兩個對象是否相等,is是判斷兩個對象是否等同(地址編號相同谱秽,引用同一個對象)

(七) 位運(yùn)算符

^ 按位異或當(dāng)兩位不同時為1

實(shí)例(交換兩個變量的值, 不使用第三個變量):

# 法一:
x = 2
y = 3
x,y = y,x 
print(x,y)  # 3 2 
# 法二:使用異或
a = 2 
b = 3
a = a^b  # 二進(jìn)制進(jìn)行異或  0001
b = a^b  # 0010 
a = a^b  # 0011
print(a,b)  # 3 2

三. 流程循環(huán)控制語句

(一) 分支結(jié)構(gòu)

1. 單一分支結(jié)構(gòu)

語法結(jié)構(gòu):

if 條件表達(dá)式:
  代碼塊(條件為真執(zhí)行)
2. 雙向分支結(jié)構(gòu)

語法結(jié)構(gòu):

if 條件表達(dá)式:
  代碼塊(條件為真執(zhí)行)
else:
  代碼塊(條件為假執(zhí)行)
3. 多向分支結(jié)構(gòu)

語法結(jié)構(gòu):

if 條件表達(dá)式:
  代碼塊(條件為真執(zhí)行)
elif 條件表達(dá)式2:
  代碼塊(條件2為真執(zhí)行)
elif 條件表達(dá)式3:
  代碼塊(條件3為真執(zhí)行)
......
else:
  代碼塊(條件為假執(zhí)行)
4. 巢狀分支結(jié)構(gòu)

語法結(jié)構(gòu):

if 條件表達(dá)式:
  if 條件表達(dá)式2:
      條件2為真的代碼塊
  else:
      條件2為假執(zhí)行
else:
  if 條件表達(dá)式3:
    條件3為真的代碼塊
  else:
      條件3為假執(zhí)行

(二) 循環(huán)結(jié)構(gòu)

1. for 循環(huán)

for可以遍歷任何的序列包括字符串,列表,元組
語法結(jié)構(gòu):

for 接收參數(shù)的變量 in 變量的值:
    循環(huán)的代碼塊

注意:
當(dāng)添加不滿足的時候, 跳出循環(huán)體,
continue: 跳出本次循環(huán), 繼續(xù)下一次循環(huán)
break: 跳出循環(huán)
實(shí)例:

for i in range(1, 10)
    if i == 3:
      continue  # 跳出本輪循環(huán), 繼續(xù)下一次循環(huán)
for i in range(1,10)
    if i == 3:
      break   # 跳出循環(huán)
2. while 循環(huán)

主體結(jié)構(gòu):

  while 條件表達(dá)式:
      循環(huán)體

死循環(huán)

  while True:  # 表達(dá)式一直為真
      代碼塊 

補(bǔ)充:

在python中else可以和while,for等連用
實(shí)例:

while 條件:
    循環(huán)體
else:
    print("循環(huán)結(jié)束的時候走了else, 而且for循環(huán)一樣的")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洽蛀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子疟赊,更是在濱河造成了極大的恐慌郊供,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件近哟,死亡現(xiàn)場離奇詭異驮审,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)吉执,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門疯淫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人戳玫,你說我怎么就攤上這事熙掺。” “怎么了咕宿?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵币绩,是天一觀的道長。 經(jīng)常有香客問我府阀,道長缆镣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任肌似,我火速辦了婚禮费就,結(jié)果婚禮上诉瓦,老公的妹妹穿的比我還像新娘川队。我一直安慰自己,他們只是感情好睬澡,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布固额。 她就那樣靜靜地躺著,像睡著了一般煞聪。 火紅的嫁衣襯著肌膚如雪斗躏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天昔脯,我揣著相機(jī)與錄音啄糙,去河邊找鬼笛臣。 笑死,一個胖子當(dāng)著我的面吹牛隧饼,可吹牛的內(nèi)容都是我干的沈堡。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼燕雁,長吁一口氣:“原來是場噩夢啊……” “哼诞丽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拐格,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤僧免,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捏浊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懂衩,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年金踪,在試婚紗的時候發(fā)現(xiàn)自己被綠了勃痴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡热康,死狀恐怖沛申,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情姐军,我是刑警寧澤铁材,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站奕锌,受9級特大地震影響著觉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惊暴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一饼丘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辽话,春花似錦肄鸽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至益咬,卻和暖如春逮诲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工梅鹦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留裆甩,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓齐唆,卻偏偏與公主長得像淑掌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蝶念,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容