Python 是区分大小写的还是不区分大小写的?
在本文中,我们将学习 Python 是区分大小写还是不区分大小写。
什么是大小写敏感?
如果一种编程语言区分大小写字符,则称其为区分大小写。
您是否曾经尝试在登录网站时在密码中混合使用大小写字母?例如,使用 TutorialsPOINT 而不是 tutorialspoint。您可能已经注意到,大小写字母不被视为相同,并且更改大小写会阻止您登录。
这是一个区分大小写示例。区分大小写的编程语言会将大写和小写字母视为不同。因此,我们必须使用语法的精确大小写,因为更改大小写(例如,从print到Print)会导致错误。
Python 是区分大小写语言吗?
是的,Python 是一种区分大小写的编程语言。这意味着它将大写和小写字母视为不同。因此,在 Python 中,我们不能互换使用具有相同字符但大小写不同的两个术语。
代码 1 - 错误的大小写
以下程序抛出NameError,因为 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, inPrint("Area of Rectangle = ", area_rectangle) NameError: name 'Print' is not defined
代码 2 - 正确的大小写
示例
以下程序返回矩形面积并在没有任何错误的情况下执行 -
length = 5 breadth= 2 area_rectangle = length*breadth print("Area of Rectangle = ", area_rectangle)
输出
执行后,上述程序将生成以下输出 -
Area of Rectangle = 10
您是否注意到 print 中的大小写差异导致了两个不同的输出?根据 Python 语法,关键字 print 应始终使用小写。因此,当我们在代码 1 中更改其大小写时,Python 无法识别它,从而导致 NameError。当我们在代码 2 中修复大小写时,我们得到了预期的结果。
为什么 Python 区分大小写?
Python 被称为区分大小写语言,因为它在执行期间区分大小写字符。即使字符相同,Python 也将两个术语视为不同,如果它们的大小写发生变化。如果我们尝试使用不同的大小写检索值,则会收到错误。
Python 以这种方式构建的基本原因是它适用于各个领域。我们不希望限制可使用的标识符和符号的数量,因此允许区分大小写。实际上,大多数高级编程语言(如 Java、C、C++ 和 JavaScript)都区分大小写。
Python 中的变量命名约定:何时使用大写或小写?
在编写 Python 代码时,我们需要遵循特定的变量名称约定。这些是可选的,但它们使我们的代码更清晰易读。
为了提高可读性,变量和函数名称应使用小写,并用下划线分隔术语。例如,input_number = 10.
包和模块也应使用小写。例如,import math。
类名中每个单词的首字母应大写。它们不应以下划线分隔。例如,ExampleClass。
常量应全部大写,并使用下划线分隔单词。例如,PI = 3.1416.
注意
以上命名约定强烈建议用于良好的编码实践,请注意,不完全遵循它们不会导致任何错误。
在 Python 中,如何忽略大小写?
在大多数情况下,用于登录网站的用户名不区分大小写。如果我的用户名是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 中的大小写。