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, 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
你有没有注意到在打印时大小写的差异导致了两个不同的输出结果?根据Python语法,关键字print应该始终使用小写。因此,当我们在Code 1中改变了大小写时,Python无法识别它,导致了NameError。当我们在Code 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中忽略大小写进行大小写不敏感的字符串比较。