在本文中,我們將學習Python是區分大小寫還是不區分大小寫。
如果一種程式語言區分大小寫字符,那麼它被稱為區分大小寫。
你是否曾嘗試在登入網站時將密碼中的大寫字母和小寫字母混合使用?例如,使用TutorialsPOINT而不是tutorialspoint作為密碼。你可能會觀察到,大寫字母和小寫字母被認為是不同的,改變大小寫會阻止你登入。
這是大小寫敏感性在實際中的一個例子。大小寫敏感的程式語言會區分大寫和小寫字母。因此,我們必須使用語法的確切大小寫,因為改變大小寫,例如從print 到Print,會導致錯誤。
是的,Python是一種區分大小寫的程式語言。這意味著它會區分大小寫字母。因此,在Python中,我們不能將具有相同字元但大小寫不同的兩個術語互換使用。
以下程式拋出NameError as錯誤,因為print語句無效(大寫的P)−
length = 5 breadth= 2 area_rectangle = length*breadth Print("Area of Rectangle = ", area_rectangle)
執行時,上述程式將產生以下輸出 -
Traceback (most recent call last): File "main.py", line 5, in Print("Area of Rectangle = ", area_rectangle) NameError: name 'Print' is not defined
以下程式傳回矩形的面積,並且在沒有任何錯誤的情況下執行 -
length = 5 breadth= 2 area_rectangle = length*breadth Print("Area of Rectangle = ", area_rectangle)
執行時,上述程式將產生以下輸出 -
Area of Rectangle = 10
你有沒有註意到大小寫的差異在列印輸出上產生了兩個不同的結果?根據Python語法,關鍵字print應該始終使用小寫。因此,當我們在程式碼1中改變了它的大小寫時,Python無法辨識它,導致了NameError錯誤。當我們在程式碼2中修正了大小寫時,我們得到了預期的結果。
Python被稱為區分大小寫的語言,因為它在執行過程中區分大小寫字元。即使字元相同,Python也會在大小寫發生變化時將兩個術語視為不同。如果我們嘗試使用不同大小寫檢索值,將會出現錯誤。
Python之所以以這種方式建構的根本原因是它在各個領域都有適用性。我們不希望限制可以使用的標識符和符號的數量,因此允許區分大小寫。實際上,大多數高階程式語言,如Java、C、C 和JavaScript,都是區分大小寫的。
在編寫Python程式碼時,我們需要遵循特定的變數命名約定。這些是可選的,但它們可以使我們的程式碼更清晰和可讀。
為了提高可讀性,變數和函數名稱應該使用小寫字母,並用底線分隔。例如,input_number = 10。
#套件和模組的命名也應該使用小寫字母。例如,import math。
類別名稱的每個單字的首字母應該要大寫。它們不應該用下劃線分隔。例如,ExampleClass。
Constants should be all uppercase and use underscore to separate words. For example, PI = 3.1416.
上述的命名約定強烈建議用於良好的編碼實踐,但請注意,完全不遵循它們不會導致任何錯誤。
在大多數情況下,用於登入網站的使用者名稱不區分大小寫。如果我的用戶名是tutorials−point。即使我輸入Tutorials−Point或TUTORIALS−POINT,我也應該可以登入。我們如何強制Python在檢查相等性時忽略大小寫?要更改字串的大小寫,我們可以利用Python的.upper()和.lower()函數。
upper() − 此函數將指定字串中的所有字元轉換為大寫。
lower() − 此函數將指定字串中的所有字元轉換為小寫。
假設我們需要建立一個登入頁面,其中密碼是區分大小寫的,但使用者名稱是不區分大小寫的。我們將取得使用者輸入的使用者名稱和密碼,將使用者名稱轉換為大寫(或小寫),並將其與所需的使用者名稱進行比較,所需的使用者名稱也同樣轉換為大寫(或小寫)。我們不需要將密碼轉換為大寫或小寫,因為它是區分大小寫的。
Python將僅透過字元檢查使用者名稱是否匹配,忽略輸入和期望字串的大小寫。另一方面,密碼檢查將包含字元和大小寫匹配。讓我們把這個放進程式碼中 -
下面的程序减慢了区分大小写和不区分大小写之间的差异 -
input_username = "Tutorials-Point" gvn_username = "tutorials-point" input_password = "sampleP@SSword" gvn_password = "sampleP@SSword" # here we are converting the input_username into lowercase print("Case 1: Case Ignored(case-insensitive)") if (input_username.lower() == gvn_username.lower() and input_password == gvn_password): print("You are logged in Successfully!!") else: print("Incorrect Username or Password") print() # here we are directly checking whether the input_username and password # are equal to the gvn_username and gvn_password print("Case 2: Case Not Ignored(case-sensitive)") if (input_username == gvn_username and input_password == gvn_password): print("You are logged in Successfully!!") else: print("Incorrect Username or Password")
在执行上述程序时,将生成以下输出 −
Case 1: Case Ignored(case-insensitive) You are logged in Successfully!! Case 2: Case Not Ignored(case-sensitive) Incorrect Username or Password
在案例1中,通过使用.lower()函数,忽略了用户名的大小写。因此,即使用户输入的用户名和记录中的用户名的大小写不同,登录仍然成功。在案例2中,我们不使用.lower()或.upper()方法。因此,大小写不被忽略,相等性检查考虑了两个用户名的大小写。由于两个用户名的大小写不同,登录失败。
我们在上面的示例中简化了登录问题,假设只有一个有效的用户名和密码组合。我们没有使用.lower()或.upper()来忽略密码的大小写,因为密码始终区分大小写。
我们希望你不再对Python大小写敏感的最重要方面感到困惑。你现在熟悉了一些良好的Python大小写敏感的命名规范。你现在明白了在Python中如何忽略大小写进行大小写不敏感的字符串比较。
以上是Python是區分大小寫的還是不區分大小寫的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!