Python ord() 関数

Python3 内置函数Python3 組み込み関数


ord()文字の Unicode コードポイントを取得するための Python の組み込み関数です。

ord()1文字(長さ1の文字列)を受け取り、対応する Unicode コードポイント(整数)を返します。これはchr()の逆関数です。

単語の意味: ordであるordinal(序数)の略です。


基本構文とパラメータ

構文形式

ord(c)

パラメータの説明

  • パラメータ c:
    • 型: 文字(長さ1の文字列)
    • 説明: Unicode コードポイントを取得する文字。

関数の説明

  • 戻り値: 文字の Unicode コードポイントを表す整数を返します。

例

例1: 基本的な使い方

例

# 英字
print(ord('A'))   # 出力: 65
print(ord('Z'))   # 出力: 90
print(ord('a'))   # 出力: 97
print(ord('z'))   # 出力: 122

# 数字
print(ord('0'))   # 出力: 48
print(ord('9'))   # 出力: 57

# 一般的な記号
print(ord('!'))   # 出力: 33
print(ord('@'))   # 出力: 64

# 中国語
print(ord('中'))  # 出力: 20013
print(ord('文'))  # 出力: 25991
print(ord('你'))  # 出力: 20320

# スペース
print(ord(' '))   # 出力: 32

実行結果の予想:

65
90
97
122
48
57
33
64
20013
25991
20320
32

コードの解説:

  1. 大文字 A-Z の Unicode コードポイントは 65-90 です。
  2. 小文字 a-z の Unicode コードポイントは 97-122 です。
  3. 中国語の漢字の Unicode コードポイントは通常 19968(0x4E00)より大きいです。

例2: chr() との併用

例

# ord() は chr() の逆関数です
print(chr(ord('A')))  # 出力: A
print(ord(chr(65)))   # 出力: 65

# 文字オフセット計算
char = 'A'
offset = 3
new_char = chr(ord(char) + offset)
print(new_char)  # 出力: D

# シーザー暗号の例
def caesar_encode(text, shift):
    result = ""
    for c in text:
        if c.isalpha():
            base = ord('A') if c.isupper() else ord('a')
            result += chr((ord(c) - base + shift) % 26 + base)
        else:
            result += c
    return result

print(caesar_encode("ABC", 3))  # 出力: DEF
print(caesar_encode("XYZ", 3)) # 出力: ABC

実行結果の予想:

A
65
D
DEF
ABC

ord()とchr()組み合わせは文字エンコード変換や暗号などの場面に利用できます。


Python3 内置函数Python3 組み込み関数


その他の拡張