首頁  >  文章  >  後端開發  >  python有for迴圈嗎

python有for迴圈嗎

anonymity
anonymity原創
2019-06-13 09:24:055106瀏覽

 Python中的for迴圈

Python for迴圈可以遍歷任何序列的項目,如一個列表或一個字串。 (遍歷:通俗點說,就是把這個循環中的第一個元素到最後一個元素依序訪問一次)。

python有for迴圈嗎

for迴圈的基本架構如下:

python有for迴圈嗎

#具體看這個案例:

設計一個函數,在桌面創建10個文本,用數字從1-10依次給它們命名。

def text_create():
    path = '/Users/duwangdan/Desktop/'
    for text_name in range(1,11):
        # 1-10的范围需要用到range函数
        with open (path + str(text_name) + '.txt','w') as text:
            # with...as的用法正文内会详细介绍
            text.write(str(text_name))
            text.close()
            print('Done')
text_create()

現在我們來理解下每行程式碼:

第1行:定義一個text_create函數;

第2行:給變數path賦值為桌面路徑;

第3行:將1-10範圍內的每個數字依序裝入變數text_name中,每次命名一個檔案;

第5行:開啟位於桌面的txt文件,並給每個text執行寫入操作;

第7行:給每個文件依序命名;

第8行:關閉文件;

第9行:執行完一次命名操作後顯示一個Done;

第11行:呼叫函數。

案例中提到了“with...as”,在Python中,“with...as”語法是用來代替傳統的“try...finally”的。

例如:開啟桌面的test文件,嘗試讀取文件內容,最後關閉文件。

 file = open('/Users/duwangdan/Desktop/test.txt')
 try:
     data = file.read()
 finally:
    file.close()

雖然這段程式碼執行良好,但比較冗長,換成用「with...as」來表達後,程式碼會更為簡潔。

 with open('/Users/duwangdan/Desktop/test.txt') as file:
     data = file.read()

除了上面的單層循環之外,還有一個常見的循環,是巢狀循環。

例如用巢狀循環實現九九乘法口訣。

 for i in range(1,10):
    for j in range(1,10):
        print('{} X {} = {}'.format(i,j,i*j))

最外層的循環,依序將1-9的數字儲存在變數i中;變數i每取一次值,內層循環就依序將1-9的數字儲存在變數j中;最後印出目前的i、j、和i*j的值。

從Python2.6開始,新增了format函數,用來格式化字串,可以透過{}.format來實現。在上面這個案例中,將i、j、i*j的值分別存入前面的{ }中,然後做好格式化,統一形式。

以上是python有for迴圈嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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