6

python第三节:Str字符串类型(3)

 8 months ago
source link: https://blog.51cto.com/u_16427934/9196380
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

str.index(sub[, start[, end]])

类似于  find(),但在找不到子字符串时会引发  ValueError

str1 = 'my name is jack!'

print(str1.index('i'))

print(str1.index('b'))

结果:

Traceback (most recent call last):

  File "D:/pythonProject/test/test20240110.py", line 3, in <module>

    print(str1.index('b'))

ValueError: substring not found

str.isalnum()

判断字符串是否都是由字母或数字组成。

即字符串不为空,且只有字母或者字符串。

如果c.isalpha(),c.isdecimal(),c.isdigit(),或c.isnumeric()之中有一个返回True,则字符c是字母或数字。

str1 = 'my name is jack!'

str2 = 'abcd1123'

print(str1.isalnum())

print(str2.isalnum())

结果:

False

str.isalpha()

判断字符串是否只包含字母。

如果字符串中的所有字符都为字母并且至少有一个字符则返回True,否则返回False。

str1 = 'my name is jack!'

str2 = 'abcd1123'

str3 = 'lkinaufk'

print(str1.isalpha())

print(str2.isalpha())

print(str3.isalpha())

结果:

False

False

str.isascii()

如果字符串为空或字符串中的所有字符都是 ASCII ,返回True,否则返回False。ASCII 字符的码点范围是 U+0000-U+007F 。

str1 = 'my name is jack!'

str2 = 'abcd1123'

str3 = 'abc_(:з」∠)_'

print(str1.isascii())

print(str2.isascii())

print(str3.isascii())

结果:

False

str.isdecimal()

判断是否十进制数字。

如果字符串中的所有字符都是十进制字符且该字符串至少有一个字符,则返回True, 否则返回False。

str1 = '测试字符111'

str2 = 'asdfas'

str3 ='1234556'

str4 = 'ⅢⅣ'

str5 = '一'

str6 = '2.23'

str7 = '123'



print(str1.isdecimal())

print(str2.isdecimal())

print(str3.isdecimal())

print(str4.isdecimal())

print(str5.isdecimal())

print(str6.isdecimal())

print(str7.isdecimal())

结果:

False

False

False

False

False

str.isdigit()

判断是否是数字。

如果字符串中的所有字符都是数字,并且至少有一个字符,返回True,否则返回False。

str1 = '测试字符111'

str2 = 'asdfas'

str3 ='1234556'

str4 = 'ⅢⅣ'

str5 = '一'

str6 = '2.23'

str7 = '123'



print(str1.isdigit())

print(str2.isdigit())

print(str3.isdigit())

print(str4.isdigit())

print(str5.isdigit())

print(str6.isdigit())

print(str7.isdigit())

结果:

False

False

False

False

False

str.isnumeric()

如果字符串中至少有一个字符且所有字符均为数值字符则返回True,否则返回False。

str1 = '测试字符111'

str2 = 'asdfas'

str3 ='1234556'

str4 = 'ⅢⅣ'

str5 = '一'

str6 = '2.23'

str7 = '123'



print(str1.isnumeric())

print(str2.isnumeric())

print(str3.isnumeric())

print(str4.isnumeric())

print(str5.isnumeric())

print(str6.isnumeric())

print(str7.isnumeric())

结果:

False

False

False

isdecimal、isdigit、isnumeric的主要区别:

全角、半角数字三者都可以判断。但是isnumeric范围更广泛一些,还包括中文数字、罗马数字。

三者都不包括小数,因为小数有小数点,在字符串里面点号不按照数字对待。

str.isidentifier()

判断字符串是否有效的标识符。

str1 = '测试字符111'

str2 = 'asdfas'

str3 ='1234556'

str4 = 'ⅢⅣ'

str5 = '一'

str6 = '.223'

str7 = 'a123'



print(str1.isidentifier())

print(str2.isidentifier())

print(str3.isidentifier())

print(str4.isidentifier())

print(str5.isidentifier())

print(str6.isidentifier())

print(str7.isidentifier())

False

False


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK