2013/04/11

ライブラリ:string

Pythonの「string」というライブラリについてご紹介します。

import string

「string」には、文字列に関係した変数や関数が含まれています。主に
  • 特定のグループの文字列をまとめた変数
  • 文字列をフォーマットする関数
の2つが入っています。

以下、そのそれぞれについて順番に見ていきます。

特定のグループの文字列をまとめた変数

アルファベットなどの文字グループをまとめた変数がいくつか用意されています。ある変数がアルファベットかどうかをチェックしたりするときに使えます。

string.ascii_lowercase
# 'abcdefghijklmnopqrstuvwxyz'が入っている
ascii_lowercaseには、アルファベットの小文字すべてが入っています。「ascii」がつかない「lowercase」というものもありますが、「lowercase」の方はロケーション(言語環境?)によって異なる場合があるそうです「ascii_lowercase」の方はロケーションに依存しない不変のものとなっています。

string.ascii_uppercase
# 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'が入っている
ascii_uppercaseはアルファベットの大文字を含んでいます。こちらも「ascii」のつかない「uppercase」がありますが、ちがいはlowercaseと同様です。

string.digits
# '0123456789'が入っている
string.digitsには、0から9までの数字が入っています。

string.punctuation
punctuationは、文字と文字の間の句読点、括弧などをまとめたものです。私の環境では「!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~」が入っていました。

string.whitespace
whitespaceは、空白や改行関連の文字をまとめたものです。私の環境では「\t\n\x0b\x0c\r 」が入っていました。

文字列をフォーマットする関数

文字列をフォーマットする関数のうち、Python3で使う頻度が高いのはformat()でしょうか。こちらは文字列のメソッドとして、次のようにして使うようです。
'{0}, {1}, {2}'.format('a', 'b', 'c')
# 'a, b, c'が返される

私はPython3を使っていないため、現状このformatは使ったことがほとんどありません。

その他には、文字列を大文字にしたり小文字にしたり、小技をこなす関数がたくさん用意されています。
string.capitalize(文字列)  # 各単語の先頭を大文字にする
string.lower(文字列)  # すべて小文字に
string.upper(文字列)  # すべて大文字に
string.join(リスト, セパレータ)  # リストをjoin
string.strip(文字列)  # 先頭と末尾の空白を削除
string.replace(文字列, 変更したい文字, 変更後の文字)  # 置換

ただ、これらについてはstr型変数のメソッドとして同じ名前のものが用意されているため、この用途でわざわざstringライブラリを読み込んで使う機会は多くないかと思います。

・・・以上です。


インストール
「string」は標準ライブラリに含まれているので、Pythonと別途インストールする必要はありません。


参考
string - Python公式ドキュメント

0 件のコメント: