はじめに
こんにちは、Pythonを学び始めたあなた!今日はPythonの基本的な関数であるord関数の使い方について解説します。
そして、format関数と組み合わせて、より強力なプログラムを書く方法も紹介します。この記事を読めば、ord関数の理解が一段階進むこと間違いなしです!
ord関数とは
ord関数はPythonの組み込み関数で、一つのUnicode文字を表現する整数(Unicodeコードポイント)を返します。
これは文字と数字を相互に変換する際に非常に便利です。
ord関数の基本的な使い方
では早速、ord関数の使い方を見てみましょう。
ソースコード例1: ord関数の基本的な使い方
1 |
print(ord('a')) # Outputs: 97 |
出力結果
97
もう1つ例を見てみましょう!次は大文字のAをみてみます。
ソースコード例: ord関数の基本的な使用
1 2 3 4 |
# 単一の文字をASCIIコードに変換 char = 'A' ascii_code = ord(char) print(f"'{char}'のASCIIコードは: {ascii_code}") |
出力結果
'A'のASCIIコードは: 65
ord関数と文字列
ord関数は一文字の文字列にのみ適用可能です。それ以上の文字列を渡すと、TypeErrorが発生します。
これは注意が必要なポイントです。
ソースコード例2: ord関数と文字列
1 2 3 4 |
try: print(ord('abc')) except TypeError as e: print(e) |
出力結果
ord() expected a character, but string of length 3 found
ord関数とformat関数を組み合わせる
さて、次にord関数とformat関数を組み合わせる方法を見てみましょう。
format関数は、文字列の中に変数を埋め込むのに便利な関数です。
ソースコード例3: ord関数とformat関数の組み合わせ
1 2 |
char = 'b' print("The Unicode code point of '{}' is {}.".format(char, ord(char))) # Outputs: The Unicode code point of 'b' is 98. |
出力結果
The Unicode code point of 'b' is 98.
ord関数の応用例
ord関数は、文字列の各文字をASCIIコードに変換する際にも役立ちます。
例えば、文字列のセキュリティチェックや、特定の文字の数値表現が必要な場合に使用できます。
文字列内の文字をASCIIコードに変換
ソースコード例: 文字列内の文字をASCIIコードに変換
1 2 3 |
text = "Hello" ascii_codes = [ord(char) for char in text] print(f"'{text}'のASCIIコードは: {ascii_codes}") |
出力結果
'Hello'のASCIIコードは: [72, 101, 108, 108, 111]
ord関数のエラーハンドリング
ord関数は単一の文字しか受け付けません。そのため、文字列や空の入力を渡すとエラーが発生します。
適切なエラーハンドリングを行うことで、プログラムの安定性を高めることができます。
KindleUnlimited会員であれば、全ての本をご覧頂けます。 リストとラムダ式を理解すれば、Pythonプログラミングの世界が変わる 第1版
エラーハンドリングの例
ソースコード例: ord関数のエラーハンドリング
1 2 3 4 5 |
try: # 複数文字の文字列を渡すとエラーが発生 print(ord("Hello World")) except TypeError: print("TypeError: ord()関数は単一の文字のみを受け付けます。") |
出力結果
TypeError: ord()関数は単一の文字のみを受け付けます。
ord関数の活用シーン
ord関数は、文字列の暗号化やデータ処理、特定のアルゴリズムの実装など、様々なシーンで活用できます。
特に、文字の数値表現が必要な場合には、この関数が非常に有効です。
暗号化アルゴリズムでの使用例
ソースコード例: 暗号化アルゴリズムでの使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# 単純なシフト暗号の例 def shift_cipher(text, shift): encrypted = "" for char in text: if char.isalpha(): shifted = ord(char) + shift if char.islower(): encrypted += chr((shifted - 97) % 26 + 97) else: encrypted += chr((shifted - 65) % 26 + 65) else: encrypted += char return encrypted 暗号化の実行 result = shift_cipher("Hello, World!", 3) print("暗号化されたテキスト:", result) |
暗号化されたテキスト: Khoor, Zruog!
まとめ
Pythonのord関数は、文字をそのUnicodeコードポイントに変換するシンプルながら強
力なツールです。
この記事では、ord関数の基本的な使い方から、エラーハンドリング、さらには実際の応用例までを紹介しました。
文字の数値表現が必要な場合や、特定のアルゴリズムを実装する際に、ord関数は非常に役立ちます。
最後まで読んで頂き、ありがとうございました。Pythonでのプログラミングにおいて、ord関数を上手に活用して、より効果的なコードを書くことができるようになることを願っています。