如果建立的檔名與模組名一致,import會優先匯入建立的檔案,不會匯入模組函式,所以建立檔名的時候不要和模組函式名相同。
for迴圈語句
應用場景:反覆執行程式,直到滿足條件。
具體例子:驗證碼,防止暴力破解密碼,因為每次填錯密碼都是迴圈重新填。
1、for語法:
for 變數 in 集合:
語句集合一般是:range ,python檢視range用法——>help(range)
1)range(stop)——>可以只填乙個數
2)range(start, stop [,step])——>可以填兩個數(開始,結束),可以填三個數(開始,結束,步長)
3)注意:start(包括)——>stop(不包括) 【包前不包後】
4)range(i)從0開始到i-1結束
range(i,j)從i 開始到j-1結束
2、for…else語法
for 變數 in 集合:
語句else:
語句1)for執行完之後進入else語句。
2)適用於:for執行完或者沒有迴圈資料時,需要做的事情。
3)當集合為0時:
for i in range(0):
print('') # 這種情況不顯示任何結果
1、pass 空語句,但不報錯:只要有縮排,縮排的內容還不確定時,此時為了保證語法的正確性,就可以用pass佔位。比如:當if …else中,else不知道要寫什麼,用pass佔位。2、break關鍵字:跳出迴圈語句,強制結束迴圈語句,執行迴圈語句同級的下方的**。1)break位置:(小白見解)放在語句內部是因為要保持正常的縮排。
2)for…else中的else語句是正常迴圈完後,執行的的語句,而只要有break,就不會執行else語句了。
3、continue:跳過下方的語句不執行,繼續執行下一次的迴圈。
while迴圈語句
寫在前面:寫**要先寫大結構,再往裡面填細節。
1、while語句:
while 條件:
語句只要條件為真,會一直迴圈語句。
2、造成死迴圈的情況:1)列印的變數沒有任何變換。
2)自己想要死迴圈,只要條件為真。
3、while迴圈的固定搭配:
變數 i = 1
迴圈 while 條件:
變數變化 i += 1
for迴圈與while迴圈比較
1.迴圈次數:
for迴圈是自己條件語句限制迴圈次數。
while迴圈是自己執行語句內限制迴圈次數,那是因為while的條件是布林值。while迴圈要提前定義變數,並且在語句內改變變數的值。
2、使用情況:
for迴圈:當滿足某個事件的兩種情況且迴圈次數有限時,for… else
while迴圈:想要重複輸入密碼和使用者名稱
1、in 在…裡面 , not in 沒有在…裡面
'st' in 'steven' 返回的是布林值 true flase
切片
1、單取
[ ] 可以結合位置(從0開始),獲取內容。特點:只能獲取乙個字母。
2、多取
[a :b](包前不包後):獲取乙個範圍 [a,b)的內容。
1)若b省略:表示一直取到字串的末尾。
2)若a省略:表示從位置0開始取。
3)字串若從左到右取是從0開始取,若從右到左取是從-1開始取。這兩種可以混用
[0:-1]從位置0開始取,到-1位置結束(不包括-1位置的內容)
3、倒序輸出[a ; b : c]
c表示方向:-1,負號反方向取值,1表示步長。
a:反方向取值的開始位置
b:反方向取值的結束位置
若a,b什麼都不值都不取,表示逆向開頭到結尾取值。
字串內建函式
字串內建函式是宣告乙個字串,預設可以呼叫內建函式(系統準備好的一些函式),主要是記憶這些函式。
1、大小寫
capitalize() ——> str.capitalize():將字串第乙個字元轉為大寫。
title() ——> str.title():每個單詞首字母大寫,其餘小寫。
istite() ——> str.istitle():判斷是否是title,返回布林值。
upper() ——> str.upper():把小寫字母全部轉為大寫。
lower() ——> str.lower():將大寫字母全部轉為小寫。
isupper() ——> str.isupper():判斷字母全部是否是大寫,返回布林值。
islower() ——> str.islower(): 判斷字母全部是否是小寫,返回布林值。
2、len():不是字串函式,是系統內建函式。
len(str):求字串的長度,返回值是乙個整形的數值。
3、查詢與替換
1)find() ——> str.find():查詢並返回位置,若返回-1,代表沒找到。find()可以指定範圍。
如果可以找到,則返回字母的第一次出現的位置。如果想要找第二次出現的位置,則要指定位置開始找
find(』 『(指定查詢的內容),beg=0(開始位置),end= (結束位置))
2)rfind() ——> str.rfind() 從字串的右側開始尋找,並定位,返回位置。
3)lfind() ——> str.lfind() 從字串的左側開始尋找,並定位,返回位置。
4)index() ——> str.index() 和find()方法一樣,但如果str不在字串中,會報異常,而find()返回-1。
5)replace() ——> str.replace(old, new, [,max]) 把字串str1(old)替換為str2(new),如果指定max,則替換不超過max次。
6)字串內建函式:encode ——> str.encode()
1.編碼:encode
encode(encoding=『utf-8』, errprs=『strict』 )以encoding指定的編碼格式編碼字元,如果出錯,預設報乙個value錯誤,除非errors指定的是』ignore』.
encoding可以為:gbk:中文,gb2312:簡體中文,unicode:統一編碼,utf-8:unicode的公升級版。
2.解碼:decode
用法:m.decode():m是位元組,不是字串
7)startswith(『***』):判斷是否是以***開始的,endwith(『***』):判斷是否是以***結尾的,返回布林值.
str.startswith(『***』), str.endwith(『***』)
8)isalpha():判斷str是否全為字母。
9)isdigit():判斷str是否全為數字。
10)join(seq):以指定的字串作為分隔符,將seq中所有的元素和字串元素合併為乙個新的字串。
用法:'-'.join('abc') ——>'a-b-c'
11)lstrip():截掉字元左邊的空格或指定字元。
12)rstrip():截掉字元右邊的空格或指定字元。
13)strip():同時執行lstrip()和rstrip()。
14)split():分割字串,將分割後的字串儲存到列表中。
split(str=』 ',num=string.count(str)) 以str為分隔符擷取目標str,如果num有指定值,則僅擷取num+1個字串。
15)count() ——> str.count(『args』):指定str中args的個數。
16)expandtabs() ——> str.expandtabs(tabsize=8):把字串中的tab符號轉為空格,tab符號預設為8個空格數。
練習1、字串可以放在for…in內
for i in str:
pritn(i)
這樣可以把字串字母一一提取出來(若要放在一行,end=『』,因為print中的end=』\n』),
2、python字串的比較
把它單獨的寫在了乙個部落格。
python第二週學習總結
type 返回物件或變數的資料型別 abs 返回乙個數字的絕對值 max 返回一組資料中的最大值 min 返回一組資料中的最小值 len 檢視資料長度 序列 指的就是一組資料 列表 元組 集合 字串 random模組 random.randint a,b 隨機產生乙個包含a和b之間的數字 rando...
python第二週學習總結
1.import只有三種使用方法,以turtle庫為例 import turtle from turtle import setup 或 from turtle import import turtle as t 其中t是別名,可以更換其他名稱 2.turtle座標系的原點預設在窗體正中間 3.tu...
第二週學習
二 字首和與差分 三 位運算 二分查詢是一種演算法,其輸入是乙個有序的元素列表 必須是有序的 查詢的元素包含在列表中,二分查詢返回其位置 int find int x if a r x return r else return 1 void find int a n int x if a l x c...