如何在Python中使用布尔方法验证字符串

Python中的字符串是字符序列。您可以使用一组内置方法对字符串执行各种操作。字符串布尔方法是这些内置方法的子集,用于检查给定的字符串是否遵循某些规则。

在本文中,您将学习如何在Python 3中使用几种不同的字符串布尔方法来成为更有效率的开发人员。

如何检查字符串是否仅包含字母数字字符

您可以使用isalnum()方法检查给定的字符串是否仅包含字母数字字符。

如果所有字符都是字母数字,则此方法返回True 。字母数字字符是(AZ),(az)和(0-9)。如果字符串中的任何字符都不是字母数字,则此方法返回False

例子:

 str1 = "WelcomeToMUO"
# This method will return "True" as all the characters are alphanumeric
checkstr1 = str1.isalnum()
print(checkstr1)
str2 = "Welcome To MUO"
# This method will return "False" as the string have 2 whitespaces which are not alphanumeric
checkstr2 = str2.isalnum()
print(checkstr2)
str3 = "#WelcomeToMUO"
# This method will return "False" as the string have a special character "#" which is not alphanumeric
checkstr3 = str3.isalnum()
print(checkstr3)
str4 = "274962472"
# This method will return "True" as all the characters are alphanumeric
checkstr4 = str4.isalnum()
print(checkstr4)
str5 = "Welcome2MUO"
# This method will return "True" as all the characters are alphanumeric
checkstr5 = str5.isalnum()
print(checkstr5)

输出:

 True
False
False
True
True

如何检查字符串是否仅包含字母字符

您可以使用isalpha()方法检查给定的字符串是否仅包含字母字符。

如果所有字符都是字母,则此方法返回True 。字母字符是(AZ)和(az)。如果字符串中的任何字符不是字母,则此方法返回False

例子:

 str1 = "WelcomeToMUO"
# This method will return "True" as all the characters are alphabetic
checkstr1 = str1.isalpha()
print(checkstr1)
str2 = "Welcome To MUO"
# This method will return "False" as the string have 2 whitespaces which are not alphabetic
checkstr2 = str2.isalpha()
print(checkstr2)
str3 = "#WelcomeToMUO"
# This method will return "False" as the string have a special character "#" which is not alphabetic
checkstr3 = str3.isalpha()
print(checkstr3)
str4 = "274962472"
# This method will return "False" as all the characters are not alphabetic
checkstr4 = str4.isalpha()
print(checkstr4)
str5 = "Welcome2MUO"
# This method will return "False" as the string has a digit "2" which is not alphabetic
checkstr5 = str5.isalpha()
print(checkstr5)

输出:

 True
False
False
False
False

如何检查字符串中的所有字符都是小数,数字还是数字

您可以分别使用isdecimal(),isdigit()isnumeric()方法检查给定的字符串是否仅由十进制字符,数字或数字字符组成。这三种方法似乎都相似,但是Python文档将这三种方法之间的区别记为:

  • isdecimal():十进制字符是可用于以10为基数的数字,例如U + 0660,ARABIC-INDIC DIGIT ZERO。十进制字符在形式上是Unicode常规类别“ Nd”中的字符。
  • isdigit():数字包括需要特殊处理的十进制字符和数字,例如兼容性上标数字。它涵盖了不能用于​​以10为底的数字的数字,例如Kharosthi数字。形式上,数字是具有属性值Numeric_Type = Digit或Numeric_Type = Decimal的字符。
  • isnumeric():数字字符包括数字字符,以及所有具有Unicode数值属性的字符,例如U + 2155, VULGAR FRACTION IF FTHTH 。形式上,数字字符是具有属性值Numeric_Type =数字,Numeric_Type =十进制或Numeric_Type =数字的字符。

根据定义,这三种方法之间的关系可以表示为:

 isdecimal() ⊆ isdigit() ⊆ isnumeric()

这意味着,如果字符串是小数,则它也将是数字和数字。

相关:如何在Python中创建和使用元组

例子:

 # Digits
str1 = "8734947"
print("str1:")
print("str1.isdecimal() : ",str1.isdecimal())
print("str1.isdigit() : ",str1.isdigit())
print("str1.isnumeric() : ",str1.isnumeric())
# Fractional Value
str2 = "½"
print("str2:")
print("str2.isdecimal() : ",str2.isdecimal())
print("str2.isdigit() : ",str2.isdigit())
print("str2.isnumeric() : ",str2.isnumeric())
# Superscript Values
str3 = "⁰¹²³⁴⁵⁶⁷⁸⁹"
print("str3:")
print("str3.isdecimal() : ",str3.isdecimal())
print("str3.isdigit() : ",str3.isdigit())
print("str3.isnumeric() : ",str3.isnumeric())

输出:

 str1:
str1.isdecimal() : True
str1.isdigit() : True
str1.isnumeric() : True
str2:
str2.isdecimal() : False
str2.isdigit() : False
str2.isnumeric() : True
str3:
str3.isdecimal() : False
str3.isdigit() : True
str3.isnumeric() : True

如何检查字符串是否为有效标识符

您可以使用isidentifier()方法检查给定的字符串是否为有效的标识符。如果字符串是有效的标识符,则此方法返回True 。否则,它返回False

如果满足以下条件,则字符串被认为是有效的标识符:

1.它仅包含字母数字字符和/或下划线。

2.它不能以数字字符开头。

3.它不包含任何空格。

相关:如何在Python中使用For循环

例子:

 str1 = "var1"
# This method will return "True" as the given string is a valid identifier
checkstr1 = str1.isidentifier()
print(checkstr1)
str2 = "var 1"
# This method will return "False" as the string contains a whitespace
checkstr2 = str2.isidentifier()
print(checkstr2)
str3 = "var1#"
# This method will return "False" as the string have a special character "#"
checkstr3 = str3.isidentifier()
print(checkstr3)
str4 = "_var1_"
# This method will return "True" as the given string is a valid identifier
checkstr4 = str4.isidentifier()
print(checkstr4)
str5 = "1var"
# This method will return "False" as the string starts with a digit "1"
checkstr5 = str5.isidentifier()
print(checkstr5)

输出:

 True
False
False
True
False

如何检查字符串中的所有字符是大写还是小写

您可以使用isupper()方法检查给定的字符串是否仅包含大写字符。

同样,您可以使用islower()方法检查给定的字符串是否仅包含小写字符。如果字符串的所有字符均为大写,则isupper()方法返回True;如果字符串的所有字符均为小写,则islower()方法返回True

例子:

 str1 = "MAKEUSEOF"
print("str1:")
print("str1.isupper() : ",str1.isupper())
print("str1.islower() : ",str1.islower())
str2 = "makeuseof"
print("str2:")
print("str2.isupper() : ",str2.isupper())
print("str2.islower() : ",str2.islower())
str3 = " "
print("str3:")
print("str3.isupper() : ",str3.isupper())
print("str3.islower() : ",str3.islower())

输出:

 str1:
str1.isupper() : True
str1.islower() : False
str2:
str2.isupper() : False
str2.islower() : True
str3:
str3.isupper() : False
str3.islower() : False

如何检查字符串中的所有字符是否为空格

您可以使用isspace()方法检查给定的字符串是否仅包含空格字符。

如果所有字符都是空格,则此方法返回True 。如果字符串中的任何字符都不为空格,则此方法返回False

例子:

 str1 = " "
# This method will return "True" as the given string contains only whitespace
checkstr1 = str1.isspace()
print(checkstr1)
str2 = " MUO "
# This method will return "False" as the string contains characters other than whitespace
checkstr2 = str2.isspace()
print(checkstr2)
str3 = " - "
# This method will return "False" as the string contains character other than whitespace
checkstr3 = str3.isspace()
print(checkstr3)

输出:

 True
False
False

如何检查文本是否遵循标题样式规则

您可以使用istitle()方法检查给定的文本是否遵循标题的规则。

如果文本中的所有单词均以大写字母开头,而其余单词均为小写字母,则称该文本遵循标题规则。如果给定文本遵循此规则,则istitle()方法将返回True ,否则将返回False

例子:

 str1 = "Welcome To Muo"
# This method will return "True" as the given string follows the rules of a title
checkstr1 = str1.istitle()
print(checkstr1)
str2 = "Welcome to Muo"
# This method will return "False" as the second word ("to") doesn't starts with a capital case character
checkstr2 = str2.istitle()
print(checkstr2)
str3 = "welcome to muo"
# This method will return "False" as all the words starts with a lowercase character
checkstr3 = str3.istitle()
print(checkstr3)

输出:

 True
False
False

使用字符串使编程变得有趣

当从程序向用户传递信息时,字符串非常有用。不过,使用布尔值验证并不是使用Python字符串的唯一方法。

您可以通过操作字符串将无聊的文本转换为有趣的文本。发挥创造力并使编程变得有趣!