Pythonを使ってこのプログラミングブログのQRコードを出力してみました。
QRコードとは
QRコード(Quick Response Code)は、情報を二次元的に符号化するためのデータ行列です。文字、数字、バイナリデータなど、様々な種類の情報を表現することができます。QRコードは白と黒の正方形のパターンで構成され、スキャナーやスマートフォンなどのデバイスで読み取ることができます。
QRコードは様々な用途で利用されています。例えば:
- URL: ウェブサイトのURLをQRコードにエンコードすることで、スマートフォンのカメラでスキャンし、ウェブページに簡単にアクセスできます。
- ビジネスカード: 名刺や広告などにQRコードを印刷することで、連絡先情報や特別なオファーなどの詳細を瞬時に共有できます。
- 支払い: スマートフォンの支払いアプリケーションにQRコードを表示して支払いを行うことができます。
- 商品情報: 商品のパッケージや店舗の棚にQRコードを配置して、製品の詳細や価格などの情報を提供することができます。
QRコードは便利で手軽な情報共有ツールとして広く利用されています。特にスマートフォンの普及により、QRコードの使用が一層増えています。
PythonでQRコード出力するプログラミング例
qrcodeライブラリーをまだインストールしていない場合は、インストールします。
pip install qrcode
以下のようなソースコードを記述します。
import qrcode
# QRコードにエンコードしたいデータを指定します
data = "https://www.argentinajapan.com/programming/"
# QRコードを生成します
qr = qrcode.QRCode(version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4)
# QRコードにデータを追加します
qr.add_data(data)
qr.make(fit=True)
# QRコードをイメージとして取得します
img = qr.make_image(fill_color="black", back_color="white")
# QRコードを保存します
img.save("qrcode.png")
プログラムの解説
このプログラムは、Pythonのqrcode
モジュールを使用して指定されたデータのQRコードを生成し、画像として保存するものです。以下に各行の機能を解説します:
import qrcode
:qrcode
モジュールをインポートします。これにより、QRコードの生成と操作に必要な機能が使用できるようになります。data = "https://www.argentinajapan.com/programming/"
: QRコードにエンコードするデータを指定します。この場合、URL “https://www.argentinajapan.com/programming/” が指定されています。qr = qrcode.QRCode(version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4)
:qrcode.QRCode()
を使用してQRコードオブジェクトを作成します。ここでは、QRコードのバージョン(version
)、エラー訂正レベル(error_correction
)、ボックスのサイズ(box_size
)、およびボーダーの幅(border
)が指定されています。qr.add_data(data)
: QRコードにデータを追加します。指定されたデータ(URL)がQRコードにエンコードされます。qr.make(fit=True)
: QRコードを作成します。fit=True
は、QRコードのサイズをデータに合わせて自動的に調整することを意味します。img = qr.make_image(fill_color="black", back_color="white")
:qr.make_image()
を使用してQRコードのイメージを取得します。fill_color
はQRコードの色を指定し、back_color
は背景色を指定します。img.save("qrcode.png")
: QRコードのイメージをPNGファイルとして保存します。ファイル名は”qrcode.png”として指定されています。
出力結果

URL “https://www.argentinajapan.com/programming/” がQRコード形式で出力されました。
スマホ等で読み込むと上記URLにアクセスできます。