【Python入門】string.punctuationで記号文字列を扱う方法
はじめに
このチュートリアルでは、Pythonのstring.punctuationについて詳しく解説します。
string.punctuationは、Python3のstringモジュールにあらかじめ定義されている定数です。ASCII記号(句読点・特殊文字)がすべて1つの文字列として格納されており、プログラム内のどこからでも自由に呼び出して使えます。いちいち記号を手打ちする必要がないため、コードの可読性と保守性が向上します。
基本的な使い方
まずは、string.punctuationの中身を実際に出力して確認してみましょう。
# stringモジュールをインポート import string # punctuationの中身を出力 print(string.punctuation)
実行結果
上記のコードを実行すると、次のような結果が表示されます。
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
punctuationに含まれる文字
string.punctuationには、以下の32種類のASCII記号が含まれています。
- ! " # $ % & ' ( ) * + , - . /
- : ; < = > ? @ [ \ ] ^ _ ` { | } ~
これらの記号は半角スペースなどを含まず、連続した文字列として取得できる点が特徴です。
活用例:強力なパスワードの生成
string.punctuationは、ランダムで強力なパスワードを生成する際に特に役立ちます。英字や数字と組み合わせることで、セキュリティ性の高いパスワードを簡単に作成できます。
import string import random # 英数字と記号を組み合わせた12文字のパスワードを生成 chars = string.ascii_letters + string.digits + string.punctuation password = ''.join(random.choice(chars) for _ in range(12)) print(password)
このように、randomモジュールと組み合わせるだけで、実用的なパスワードジェネレーターが完成します。ぜひ自分でも試してみてください。
まとめ
この記事では、Pythonのstring.punctuationの基本情報と実践的な活用方法を紹介しました。記号文字列を手動で定義する必要がなく、バリデーションやパスワード生成などさまざまな場面で活躍する便利な定数です。チュートリアルの内容について疑問点がある場合は、コメント欄でお気軽にお尋ねください。
-
Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説
Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial
-
【Python入門】文字列から句読点を削除する3つの方法
はじめに 文字列から句読点(ピリオド、カンマ、疑問符など)をまとめて取り除きたい場面は、テキスト処理やデータクレンジングでよくあります。最も高速な方法は、標準ライブラリの string モジュールと str.translate() を組み合わせることです。この記事では、代表的な3つの方法をコード例とともに解説します。 方法1:str.translate() を使う(高速・推奨) str.maketrans() で「削除対象の文字」を指定した変換テーブルを作成し、translate() に渡すことで、句読点を一括除去できます。 import string s = string. With.