Python 区分大小写还是不区分大小写?
在本文中,我们将了解 Python 区分大小写还是不区分大小写。
什么是区分大小写?
如果一种编程语言区分大小写字符,则称其为区分大小写。
登录网站时,您是否曾尝试过在密码中混合使用大写和小写字母?例如,password 不是 tutorialspoint,而是 TutorialsPOINT。您可能已经注意到,大写和小写字母并不被视为相同,更改大小写会阻止您登录。</p>
这是区分大小写的一个示例。区分大小写的编程语言对大写和小写字母的处理方式不同。因此,我们必须使用语法的准确大小写,因为更改大小写(例如,从 print 到 Print)会导致错误。
Python 是区分大小写的语言吗?
是的,Python 是区分大小写的编程语言。这意味着它对大写字母和小写字母的看法不同。因此,在 Python 中,我们不能互换使用两个具有相同字符但不同大小写的术语。
代码 1- 错误大小写
以下程序抛出 NameError 因为打印语句无效(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" # 这里我们将 input_username 转换为小写 print("情况 1:忽略大小写(不区分大小写)") if (input_username.lower() == gvn_username.lower() and input_password == gvn_password): print("您已成功登录!!") else: print("用户名或密码不正确") print() # 这里我们直接检查 input_username 和 password # 是否等于 gvn_username 和 gvn_password print("情况 2:不忽略大小写(区分大小写)") if (input_username == gvn_username 和 input_password == gvn_password): print("您已成功登录!!") else: print("用户名或密码不正确")
输出
执行时,上述程序将生成以下输出 −
案例 1:忽略大小写(不区分大小写) 您已成功登录!! 情况 2:不忽略大小写(区分大小写) 用户名或密码错误
在情况 1中,通过使用 .lower() 函数,用户名的大小写被忽略。因此,即使用户输入的用户名的大小写与记录中的大小写不同,登录仍会成功。在情况 2中,我们没有使用 .lower() 或 .upper() 方法。因此,不忽略大小写,相等性检查会考虑两个用户名的大小写。登录失败,因为两个用户名的大小写不同。
注意
我们通过假设只有一个有效的用户名和密码组合来简化前面示例中的登录问题。我们没有使用 .lower()或 .upper()来忽略密码的大小写,因为密码始终区分大小写。
结论
我们希望您不再对 Python 区分大小写的最重要方面感到困惑。您现在熟悉了一些良好的 Python 区分大小写的命名实践。您现在了解了在执行不区分大小写的字符串比较时如何在 Python 中忽略大小写。