??Java開發者的Python快速進修指南:控制之if-else和迴圈技巧

努力的小雨發表於2023-11-19

簡單介紹

在我們今天的學習中,讓我們簡要了解一下Python的控制流程。考慮到我們作為有著豐富Java開發經驗的程式設計師,我們將跳過一些基礎概念,如變數和資料型別。如果遇到不熟悉的內容,可以隨時查閱檔案。但在編寫程式或邏輯時,if-else判斷和迴圈操作無疑是我們經常使用的基本結構。畢竟,我們初步編寫的程式碼很多時候都是在if巢狀中度過的。隨著經驗的積累,我們才逐漸開始考慮如何將設計模式融入程式碼中進行最佳化。迴圈也是同樣如此,我們的取值邏輯涉及到分頁批次處理,遍歷是不可或缺的。

基礎

首先,讓我們深入瞭解一下Python的寫法。在Python中,縮排是至關重要的,這與我們編寫YAML檔案時的邏輯非常相似。在Python中,同一層邏輯保持相同的縮排,子邏輯則進一步縮排,而換邏輯則從新的一行從頭開始。

在程式設計中,我們經常使用列印語句來進行除錯和輸出資訊。不同於Java中的println和print,Python中只有一個print函式。然而,它具有一個預設的第二個引數end,你可以使用類似這樣的方式進行列印:print('test', end='\t')。這對於控制輸出的結尾非常有用。在函式呼叫方面,Python允許傳遞預設值,這使得函式呼叫時不像Java那樣必須提供所有引數。

這些是Python中一些基礎的語法和習慣,接下來我們將深入探討更多關於if判斷和迴圈的內容,以及如何在Python中靈活運用這些概念。

if判斷

在Python中,if判斷的靈活性給我們帶來了很多便利。特別是在縮排寫法上,省略了冗長的括號,使得程式碼更加清晰。不僅如此,Python還提供了elif來簡化多個條件的判斷,讓你的鍵盤少敲兩次,看起來更簡潔。下面,讓我們透過一個例子來深入瞭解:

# 例子:判斷一個數字的正負和奇偶性

num = int(input("請輸入一個整數:"))

if num > 0:
    print("這是一個正數。")
elif num < 0:
    print("這是一個負數。")
else:
    print("這是零。")

if num % 2 == 0:
    print("這是一個偶數。")
else:
    print("這是一個奇數。")

瞭解了Python中的if判斷寫法後,讓我們研究一下在業務邏輯中常用的andor運運算元。這兩個運運算元在Python中的靈活運用能夠使程式碼更加簡潔,提高可讀性。

在業務邏輯中,有些開發者習慣在if判斷中直接使用andor,而不願意提前宣告變數記錄判斷值。這樣的寫法雖然直接,但也可能讓程式碼變得冗長。讓我們透過一個例項來展示如何巧妙地運用andor

# 例子:驗證使用者名稱和密碼是否同時符合要求

username = input("請輸入使用者名稱:")
password = input("請輸入密碼:")

# 判斷使用者名稱和密碼是否同時滿足條件
if len(username) > 5 and len(password) >= 8:
    print("使用者名稱和密碼符合要求,驗證透過。")
else:
    print("使用者名稱或密碼不符合要求,請重新輸入。")

在這個例子中,我們透過and運運算元將兩個條件同時納入判斷,使得驗證邏輯更加清晰。

接下來,讓我們看一下取反操作,Python中使用的是not。這與Java中使用感嘆號!的邏輯相似,但更貼近自然語言,提高了可讀性。下面是一個簡單的取反操作的例子:

# 例子:判斷一個數字是否不在指定範圍內

number = 25

if not (10 <= number <= 20):
    print("這個數字不在10到20之間。")
else:
    print("這個數字在指定範圍內。")

透過這個例子,你可以更好地理解在Python中如何使用not進行取反操作。

while迴圈

在Python中,while迴圈不僅與Java一樣有強行退出的break和繼續執行的continue關鍵字,而且有一個獨特的特性,即在迴圈正常結束後可以使用else塊,前提是迴圈沒有被break中斷。這個特性使得Python中的while迴圈更加靈活,可以在迴圈結束後執行特定的業務邏輯。

讓我們透過一個例子來深入瞭解:

# 例子:利用while迴圈計算數字的階乘,並在迴圈結束後輸出結果

num = int(input("請輸入一個正整數:"))
factorial = 1
count = 1

while count <= num:
    factorial *= count
    count += 1
else:
    print(f"{num}的階乘是:{factorial}")
    print("迴圈正常結束,執行了else塊中的業務邏輯。")

在這個例子中,迴圈透過while count <= num條件進行控制,當迴圈正常結束時,執行else塊中的程式碼。這種結構在Java中是不常見的,但在Python中卻是一種很有用的模式。

for迴圈

與while迴圈類似,for迴圈在Python中也有強行退出的break和繼續執行的continue關鍵字。下面是一個使用for迴圈的例子:

# 例子:遍歷列表並輸出元素的平方,並在迴圈結束後輸出提示資訊

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    square = num ** 2
    print(f"{num}的平方是:{square}")
else:
    print("for迴圈正常結束,執行了else塊中的業務邏輯。")

在這個例子中,我們使用for迴圈遍歷列表numbers,並計算每個元素的平方並輸出。同樣地,迴圈正常結束後,執行了else塊中的程式碼。

總結

在今天的學習中,我們簡要了解了Python的控制流程,特別是if-else判斷和迴圈操作。作為有著Java開發經驗的程式設計師,我們跳過了一些基礎概念,著重探討if判斷和迴圈的靈活運用。Python的縮排寫法和與Java的一些語法區別都是需要注意的地方。在編寫程式時,if巢狀和迴圈是基礎結構,而設計模式的融入和迴圈的靈活運用則是經驗積累後的最佳化方向。在學習中,我發現Python的語法簡潔,控制流程更為靈活,使得編寫清晰可讀的程式碼變得更加容易。

相關文章