ord関数とは何か
Pythonのord
関数は、Unicode文字を表す文字列を引数に取り、その文字のUnicodeコードポイントを表す整数を返す組み込み関数です。この関数は、文字列の各文字をその対応するASCII値またはUnicode値に変換するために使用されます。
例えば、次のように使用します:
print(ord('a')) # 出力: 97
print(ord('A')) # 出力: 65
print(ord('1')) # 出力: 49
print(ord('€')) # 出力: 8364
上記の例では、小文字の’a’のASCII値は97、大文字の’A’のASCII値は65、数字の’1’のASCII値は49、ユーロ記号のUnicode値は8364であることが示されています。
ord
関数は、文字列の各文字をその対応する数値表現に変換するために使用されます。これは、文字列の操作や比較、または文字と数値の間の変換が必要な場合に特に便利です。また、ord
関数は、Pythonのchr
関数と組み合わせて使用することで、文字と数値の間の相互変換を行うことができます。これらの関数は、Pythonで文字列を操作する際の重要なツールです。
ord関数の使い方
Pythonのord
関数は非常に簡単に使用することができます。以下に基本的な使用方法を示します。
# 文字を引数としてord関数を呼び出す
ascii_value = ord('A')
# 結果を表示する
print(ascii_value) # 出力: 65
この例では、大文字の’A’のASCII値が65であることが示されています。
ord
関数は一文字の文字列を引数に取ります。それ以上の長さの文字列を引数に取ると、TypeErrorが発生します。例えば、次のコードはエラーを引き起こします。
# エラー: ord() expected a character, but string of length 2 found
ascii_value = ord('AB')
また、ord
関数は空の文字列を引数に取ることもできません。これもTypeErrorを引き起こします。
# エラー: ord() expected a character, but string of length 0 found
ascii_value = ord('')
したがって、ord
関数を使用する際は、引数が一文字の文字列であることを確認する必要があります。これは、ord
関数が文字のASCII値またはUnicode値を返すため、一文字以上の文字列に対しては適用できないからです。
実際のコード例: ord関数の使用
以下に、Pythonのord
関数を使用するいくつかの実際のコード例を示します。
ASCII値の取得
# 文字'a'のASCII値を取得
print(ord('a')) # 出力: 97
この例では、小文字の’a’のASCII値が97であることが示されています。
Unicode値の取得
# ユーロ記号のUnicode値を取得
print(ord('€')) # 出力: 8364
この例では、ユーロ記号のUnicode値が8364であることが示されています。
文字列の各文字のASCII値またはUnicode値の取得
# 文字列の各文字のASCII値またはUnicode値を取得
for char in 'Hello, World!':
print(f'{char}: {ord(char)}')
この例では、文字列’Hello, World!’の各文字のASCII値またはUnicode値が出力されます。
これらの例からわかるように、ord
関数はPythonで文字と数値の間の変換を行うための強力なツールです。
ord関数とchr関数: Unicodeと文字の相互変換
Pythonには、文字とUnicode値の間で相互変換を行うための2つの組み込み関数、ord
関数とchr
関数があります。
ord関数
ord
関数は、Unicode文字を表す文字列を引数に取り、その文字のUnicodeコードポイントを表す整数を返します。
# 文字'a'のUnicode値を取得
print(ord('a')) # 出力: 97
この例では、小文字の’a’のUnicode値が97であることが示されています。
chr関数
一方、chr
関数は、Unicodeコードポイントを表す整数を引数に取り、そのコードポイントに対応する文字を返します。
# Unicode値97に対応する文字を取得
print(chr(97)) # 出力: 'a'
この例では、Unicode値97に対応する文字が’a’であることが示されています。
相互変換
これらの関数を組み合わせることで、文字とUnicode値の間で相互変換を行うことができます。
# 文字'a'のUnicode値を取得
unicode_value = ord('a')
# Unicode値を文字に変換
char = chr(unicode_value)
# 結果を表示
print(char) # 出力: 'a'
この例では、文字’a’のUnicode値を取得し、その値を元に文字’a’を再度取得しています。これにより、ord
関数とchr
関数が相互変換を行うことが確認できます。
まとめと次のステップ
この記事では、Pythonの組み込み関数であるord
関数について詳しく説明しました。ord
関数は、Unicode文字を表す文字列を引数に取り、その文字のUnicodeコードポイントを表す整数を返す関数です。また、ord
関数と組み合わせて使用することで、chr
関数を使用してUnicode値と文字の間で相互変換を行うことができます。
次のステップとして、実際にord
関数とchr
関数を使用して、文字列の操作や比較、または文字と数値の間の変換を行うPythonのコードを書いてみることをお勧めします。これらの関数は、Pythonで文字列を操作する際の重要なツールであり、その理解と使用はPythonプログラミングスキルを向上させるのに役立ちます。
また、Pythonの他の組み込み関数や標準ライブラリについても学習することをお勧めします。これらの関数とライブラリは、Pythonで効率的かつ効果的なコードを書くための強力なツールです。