0


Python string模块

Python string模块

使用string模块预定义的字符串所有字母和数字。在使用前需要先import。

>>> import string
>>> dir(string)
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_re', '_sentinel_dict', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace']

string.ascii_uppercase:所有大写字母

string.ascii_lowercase:所有小写字母

string.ascii_letters:所有字母(大小写)

string.digits:十进制数字

string.octdigits:八进制数字

string.hexdigits:十六进制数

>>> string.ascii_uppercase                  # 所有大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase                  # 所有小写字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_letters                    # 所有字母
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits                           # 十进制数字
'0123456789'
>>> string.octdigits                        # 八进制数字
'01234567'
>>> string.hexdigits                        # 十六进制数字
'0123456789abcdefABCDEF'

判断字符是否为字母或者数字:

>>> s = '1a2@f9s#'
>>> for i in s:
...     if i in string.ascii_letters:
...         print(i, '是字母')
...     elif i in string.digits:
...         print(i, '是数字')
...     else:
...         print(i, '是其他字符')
... 
1 是数字
a 是字母
2 是数字
@ 是其他字符
f 是字母
9 是数字
s 是字母
# 是其他字符

标识符合法性检查,首先要以字母或者下划线开始,后面要跟字母或者数字(只检查长度大于等于2的标识符)

#!usr/bin/evn python3

import string

alphas = string.ascii_letters + '_'
nums = string.digits

print('Welcome to the Identifier Checker V1.0')
print('Testees must be at least 2 chars long')

myInput = input('Identifier to test?')

if len(myInput) > 1:
    if myInput[0] not in alphas:        # 判断首字符是否符合是字母或者下划线
        print("invalid: first symbol must be alphabetic")
    else:
        alphnums = alphas + nums
        for otherChar in myInput[1:]:
            if otherChar not in alphnums: 
                print("invalid: remaining symbols must be alphanumeric")
                break
        else:                # 如果for循环中的break不执行,循环结束后,执行此else语句
            print("okay as an identifier")
标签: python 字符串

本文转载自: https://blog.csdn.net/zixuan020929/article/details/115639907
版权归原作者 zixuan020929 所有, 如有侵权,请联系我们删除。

“Python string模块”的评论:

还没有评论