Python 是区分大小写的还是不区分大小写的?


在本文中,我们将学习 Python 是区分大小写还是不区分大小写。

什么是大小写敏感?

如果一种编程语言区分大小写字符,则称其为区分大小写

您是否曾经尝试在登录网站时在密码中混合使用大小写字母?例如,使用 TutorialsPOINT 而不是 tutorialspoint。您可能已经注意到,大小写字母不被视为相同,并且更改大小写会阻止您登录。

这是一个区分大小写示例。区分大小写的编程语言会将大写和小写字母视为不同。因此,我们必须使用语法的精确大小写,因为更改大小写(例如,从printPrint)会导致错误。

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, in 
    Print("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−PointTUTORIALS−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 中的大小写。

更新于: 2022-12-26

8K+ 次查看

启动您的职业生涯

通过完成课程获得认证

开始
广告