Pythonでは、空白文字や英小文字や数字などがstringモジュールで定義されています。今回はそれらについて調べてみました。
確認した環境
- OS: Ubuntu16.04LTS
- Python3.7.2@Anaconda
文字列定数
stringモジュールでは下記の文字列が定義されています。
内容 | 変数(stringモジュール) | 該当する文字 |
---|---|---|
空白文字 | whitespace | \t\n\r\v\f |
英小文字 | ascii_lowercase | abcdefghijklmnopqrstuvwxyz |
英大文字 | ascii_uppercase | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
英文字 | ascii_letters | ascii_lowercase + ascii_uppercase |
数字 | digits | 0123456789 |
16進数を表す文字列 | hexdigits | digits + ‘abcdef’ + ‘ABCDEF’ |
8進数を表す文字列 | octdigits | 01234567 |
句読点として扱われる ASCII 文字の文字列 | punctuation | !”#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ |
印刷可能な ASCII 文字 | printable | digits + ascii_letters + punctuation + whitespace |
実際にコードで見てみます。
>>> import string
# 空白文字
>>> string.whitespace
' \t\n\r\x0b\x0c'
# 英小文字
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
# 英大文字
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 数字
>>> string.digits
'0123456789'
# 16進数用の文字
>>> string.hexdigits
'0123456789abcdefABCDEF'
# 8進数用の文字
>>> string.octdigits
'01234567'
# 句読点などの記号類
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
# 表示可能な文字
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
参考:公式リファレンス: string — 一般的な文字列操作 文字列定数
https://docs.python.org/ja/3/library/string.html?highlight=%E5%B0%8F%E6%96%87%E5%AD%97#string-constants
まとめ
Pythonで定義されている空白文字や英数字など文字列定数についてまとめました。