for..in語句是循環語句,它迭代一個對象的序列,例如經歷序列中的第一項。一個序列只是一個有序的項目的集合。函數
1 for i in range(1, 5): 2 print(i) 3 else: 4 print('for循環結束')
輸出:
1
2
3
4
for循環結束
它是如何工做的? 打印一個數字序列,咱們使用內置的range函數生成這個數字序列。spa
range格式語法:range(1,5,2)。第1個數字是開始值,第2個數字是小於值,第3個數字是步距。code
咱們在上面的例子中是提供了兩個數字,range返回一個從第1個數字到第2個數字的一個數字序列。orm
例如,range(1,5)給出序列[1, 2, 3, 4]。range默認步距爲1。若是咱們提供第3個數字,那麼第3個數字就是步距。例如range(1,5,2)獲得[1,3]。範圍擴展到第2個數字,即最大值小於第2個數字。對象
注意,range()生成一個數字序列,當for循環請求下一個項目時,它一次只生成一個數字。若是你想馬上看到完整的數字序列,使用list(range())。blog
for i in range(1,5)至關於 for i in [1, 2, 3, 4],for循環遍歷這個範圍。這就像把序列中的每個數(或對象)分配給i,一次一個,而後爲每一個i值執行語句塊。在本例中,在語句塊中咱們只是打印i的值。ip
記住,else部分是可選的。當包括它時,除非遇到[break][#中斷)語句,當for循環結束時,它執行一次。
for..in循環能夠做用於任何序列。在這裏,咱們對一個由內建的range函數生成的一個數字列表,可是通常來講,咱們能夠使用任何種類對象的任何類型的序列!get
例子:input
1 import getpass,os,sys 2 i=0 3 while i<3: 4 username = input('Enter your acount:') 5 lock_file = open('lock_acount','r+') 6 lock_list = lock_file.readlines() 7 print(lock_list) 8 for lock_line in lock_list: 9 lock_line = lock_line.strip('\n') 10 print(lock_line) 11 if username == lock_line: 12 sys.exit('Your {name} are locked!'.format(name=username)) 13 i +=1
使用for..in循環遍歷 lock_list內容,並把得到的內容賦給lock_line,而後再在語句塊中經過strip()函數對lock_line的內容進行格式化。it