stringパッケージで定義されている定数

Pythonのstringパッケージには、いくつかの定数が定義されています。

定数名 内容
ascii_letters アルファベット
ascii_lowercase アルファベットの小文字
ascii_uppercase アルファベットの大文字
digits 10進数の数字
hexdigits 16進数の数字(というのかな)
octdigits 8進数の数字
punctuation 句読点などの記号
printable 印刷可能なascii文字
whitespace スペース、改行、タブなど

実際に表示してみます。表示した環境はWindows10のPython3です。

目次

  1. 文字列を切り出してみる
  2. 文字種の判定に使ってみる
>>> import string

>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'

>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>> string.digits
'0123456789'

>>> string.hexdigits
'0123456789abcdefABCDEF'

>>> string.octdigits
'01234567'

>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'

>>> string.whitespace
' \t\n\r\x0b\x0c'

文字列を切り出してみる

文字列ですので、インデックスでアクセスできます。

16進数だけど英字部分は小文字にしたいとか。

>>> string.printable[0:16]
'0123456789abcdef'

文字種の判定に使ってみる

inを使って文字種の判定をしてみます。

>>> '1' in string.ascii_letters
False

>>> 'f' in string.digits
False

>>> 'f' in string.ascii_letters
True

>>> 'あ' in string.ascii_letters
False

広告

Pythonの文字列処理カテゴリの投稿