首頁  >  文章  >  後端開發  >  Python基礎學習if語句

Python基礎學習if語句

零下一度
零下一度原創
2017-07-23 11:28:562203瀏覽

If語句可以檢查判定目前條件,並執行對應措施。

1 if a in A:2     if a 条件:3     执行命令14   else:5       执行命令26 7 if判断条件还可以简写8 if x:9     print('True')

 

只要x是非零數值、非空字串、非空list等,就判斷為True,否則為False

#4.1條件測試(條件判斷)

1.每個if語句的核心都是條件判斷True或False,這種表達式稱為條件測試

2.Python根據條件測試的值True或False來判斷是否執行下面的程式碼,如果if語句的判斷為True,就執行下面程式碼,判斷為False會忽略下面的程式碼。

3.在python中,任何不為0,Null或空物件的東西都是True。

4.2檢查是否相等

1.Python比較大小是區分大小寫

2.! = 表示不相等,感嘆號表示不,可以比較數字,字元。

4.2.1檢查多個條件

1.使用關鍵字and連接,都滿足為True,一個沒有滿足都為False。為改善可讀性,可將每個測試寫在( )中。

2.使用關鍵字or連接,滿足一個就為True,都不滿足才為False。

4.2.2檢查特定的值是否包含在清單中

1.使用關鍵字in來判斷包含關係。

2.使用關鍵字 not in 來判斷不包含關係。

4.2.3布林表達式

1.布林運算式是條件測試的別名,結果一樣都是True或False。布林值和布林代數的表示完全一致,一個布林值只有True、False兩種值,要嘛是True,要嘛是False,在Python中,可以直接用True、False表示布林值(請注意大小寫

布林值可以用and、or和not運算。布爾操作符。

1.True and True

True

2.True or False

True

3.not True

False

#4.3if 語句

1.簡單if語句,一個測試,一個操作,注意縮進,和冒號。

2.if-else語句  一個條件測試,2個運算。

3.if-elif-else結構 多條件測試,elif是else if的縮寫,完全可以有多個elif。

#

4.if語句執行有個特點,它是從上往下判斷,如果在某個判斷上是True,把該判斷對應的語句執行後,就忽略掉剩下的elif和else。

5.可省略else,用elif代替,避免引入更多錯誤訊息。

6.語法格式== 、>= 和<= 等比較運算子兩邊各加一個空格,例如,if age < 4: 要比if age<4: 好。

5.字典

  Python內建了字典:dict的支持,dict全名為dictionary,在其他語言中也稱為map,使用鍵-值(key-value)存儲,具有極快的查找速度。

特點:無序的,字典是動態數據,字典由{ }組成,分號隔開。字典包含鍵和值,一 一對應。與鍵相關聯的值可以是數字、字串、列表甚至字典,可將任何Python物件用作字典中的值。正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變物件。

set:

1.1.     set和dict類似,也是一組key的集合,但不儲存value由於key不能重複,所以,在set中,沒有重複的key。

1.2.     set可視為數學意義上的無序與無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作:&交集;  | 並集;

1.3.     set和dict的唯一差異只在於沒有儲存對應的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變對象,因為無法判斷兩個可變對象是否相等,也無法保證set內部「不會有重複元素」。試試把list放入set,看看會不會報錯。

1.4.     透過add(key)方法可以將元素添加到set中,可以重複添加,但不會有效果。

1.5.     透過remove(key)方法可以刪除元素。

list和dict比較

和list比較,dict有以下幾個特點:

    尋找和插入的速度極快,不會隨著key的增加而變慢;

    需要佔用大量的內存,內存浪費多。

而list相反:

    尋找和插入的時間隨著元素的增加而增加;

    佔用空間小,浪費記憶體很少。

所以,dict是一種用空間來換取時間的方法。

5.1存取字典的值

1.鍵值存取

#知道鍵值可以存取值:

if <條件判斷1>:

    <執行1>

elif <條件判斷2> :

    <執行2>

elif <條件判斷3>:

    <執行3>

#    <執行4>

alien_0 = {'color': 'green', 'points': 5}

#要避免key不存在的錯誤,有兩種辦法,一是透過in判斷key是否存在:

'Thomas' in d

False

##'Thomas' in d

##2.get方法二是透過dict提供的'I am bringing 2 cups.'
get

方法

,如果key不存在,可以回傳None,或自己指定的value:

d.get('Thomas')

d.get('Thomas', -1) #在d中不存在'Thomas',返回-1

-1

 

>>> picnicItems = {'apples': 5, 'cups' : 2}

>>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.'

>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'

 'I am bringing 0 eggs.

注意:返回None的時候Python的互動式命令列不顯示結果。 >>> spam = {'name': 'Pooka', 'age': 5}

3.setdefault()方法

setdefault()方法提供了一種方式,在一行中完成這件事。傳遞給該方法的第一 個參數,是要檢查的鍵。第二個參數,是如果該鍵不存在時要設定的值。如果該鍵 確實存在,方法就會傳回鍵的值。

>> ;> spam.setdefault('color', 'black') #鍵不存在,回傳'black'

'black'

4.pprint 模組

導入pprint 模組,就可以使用pprint()和pformat()函數,它們會「漂亮印製」一個字典的字。

###pprint.pprint(someDictionaryValue)######print(pprint.pformat(someDictionaryValue))############ ####

5.2新增鍵和值

字典是動態數據,可以隨時在其中新增鍵和值,透過key加入資料

alien_0 = {'color': 'green', 'points': 5} 

alien_0['x_position'] = 0

alien_0['y_position '] = 25

print(alien_0)

#5.3刪除鍵與值

##1.要刪除一個key,用pop(key)方法,對應的value也會從dict刪除:

d.pop('Bob')

75

2.使用del  

del alien_0['points']

5.4遍歷字典item()

Python 字典(Dictionary) items() 函數以列表傳回可遍歷的(鍵, 值) 元組數組。

for key, value in user_0.items():

實際

for name, language in favorite_languages.items():

#簡單變數名:

for k, v in user_0.items()

注意,即使遍歷字典時,鍵—值對的回傳順序也與儲存順序不同。 Python不關心鍵—值對的儲存順序,只追蹤鍵和值之間的關聯關係。

判斷一個物件是可迭代對象,方法是透過collections模組的Iterable型別判斷;

>>> from collections import Iterable

>>> isinstance('abc', Iterable) # str是否可迭代

Python內建的enumerate函數可以把一個list變成索引-元素對,這樣就可以在for迴圈中同時迭代索引和元素本身。

使用內建的isinstance函數可以判斷一個變數是不是字串。

5.4.1遍歷字典所有的鍵(for迴圈)

Python的迴圈有兩種,一種是for...in循環,依序把list或tuple中的每個元素迭代出來,看範例:

for name in favorite_languages.keys():

遍歷字典時,會預設遍歷所有的鍵,因此,如果將上述程式碼中的for name in favorite_languages.keys(): 替換為for name in favorite_languages: ,輸出將不變。 如果明確地使用方法keys() 可讓程式碼更容易理解,你可以選擇這樣做,但如果你願意,也可省略它。

5.4.2依序遍歷字典所有的鍵

sorted() 

  使用函數sorted() 來獲得以特定順序排列的鍵列表的副本。

依首字母排序

  一種辦法是在for 迴圈中對傳回的鍵進行排序。為此,可使用函數sorted() 來取得按特定順序排列的鍵列表的副本。

5.4.3遍歷字典中所有的值

values()

使用方法

values() ,它會傳回一個值列表,而不包含任何鍵。

for language in favorite_languages.values():

#為剔除重複項,可使用集合 合

set()。集合類似於列表,但每個元素都必須是獨一無二的:

for language in set(favorite_languages.values()):

5.5巢狀

#還可以使用兩層循環,可以產生全排列。

5.5.1字典列表

alien_0 = {'color': 'green', 'points': 5} 

alien_1 = {'color': 'yellow' , 'points': 10} 

alien_2 = {'color': 'red', 'points': 15}

aliens = [alien_0, alien_1, alien_2]

5.5.2在字典中儲存字典

字典中巢狀字典

5.6退出迴圈(break)

#在迴圈中,break語句可以提前退出迴圈。這個語句通常必須配合if語句使用。

5.7continue

在循環過程中,也可以透過continue語句,跳過目前的這次循環,直接開始下一次循環。這個語句通常必須配合if語句使用。

以上是Python基礎學習if語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn