Python組み込み関数8 -chr・ord編-
Pythonおさらい第8段
制約として公式ドキュメントのみ参照*1として、読む癖をつける訓練も兼ねる。
今回はchr関数
とord関数
の2種類について。
chr
は整数に対応する文字を返し、ord
はその逆に文字に対応する整数を返す。
整数と文字の対応はUnicode
で参照しているらしい。
内容的にはそれで全部な気がするので、蛇足がいらなければここで終了、解散!
構成
今回の関数は以下のようになっている。
chr(i)
ord(c)
i
はint型
, c
はstr型
1を表す。
使ってみる
あ
~ん
を表示させてみることにする。
また、変換前の整数については16進数
で表す。
実行するコードは以下の通り。
for i in range(ord('あ'), ord('ん') + 1): print(f'{i:X} -> {chr(i)}')
3042 -> あ 3043 -> ぃ 3044 -> い 3045 -> ぅ 3046 -> う 3047 -> ぇ 3048 -> え 3049 -> ぉ 304A -> お 304B -> か 304C -> が 304D -> き 304E -> ぎ 304F -> く 3050 -> ぐ 3051 -> け 3052 -> げ 3053 -> こ 3054 -> ご 3055 -> さ 3056 -> ざ 3057 -> し 3058 -> じ 3059 -> す 305A -> ず 305B -> せ 305C -> ぜ 305D -> そ 305E -> ぞ 305F -> た 3060 -> だ 3061 -> ち 3062 -> ぢ 3063 -> っ 3064 -> つ 3065 -> づ 3066 -> て 3067 -> で 3068 -> と 3069 -> ど 306A -> な 306B -> に 306C -> ぬ 306D -> ね 306E -> の 306F -> は 3070 -> ば 3071 -> ぱ 3072 -> ひ 3073 -> び 3074 -> ぴ 3075 -> ふ 3076 -> ぶ 3077 -> ぷ 3078 -> へ 3079 -> べ 307A -> ぺ 307B -> ほ 307C -> ぼ 307D -> ぽ 307E -> ま 307F -> み 3080 -> む 3081 -> め 3082 -> も 3083 -> ゃ 3084 -> や 3085 -> ゅ 3086 -> ゆ 3087 -> ょ 3088 -> よ 3089 -> ら 308A -> り 308B -> る 308C -> れ 308D -> ろ 308E -> ゎ 308F -> わ 3090 -> ゐ 3091 -> ゑ 3092 -> を 3093 -> ん
今回の出力はここの表と対応しているのがわかる。
ord
で取得できる整数は、4桁の16進数に変換して'\uXXXX'
とすることでユニコードエスケープとして使用できる。
さらにchr
で0xXXXX
を調べることで元の文字を調べることもできる。
'\uXXXX'
のような文字列を見かけた際は試してもいいかもしれない。
締め
今回紹介した関数はいまいち使いどころや魅力がよくわかっていない。
一応、上の例のように数字では範囲がよくわからないあ
~ん
をrange
で指定することができているが、シンプルな50音を取得できているわけではないので、実用性という点では首を捻らざるを得ない。
A
~Z
であれば指定できるが……。
サニタイズや暗号化で使用するのだろうか……。
いまいち締まらないが、これ以上のことを書くこともできないのでこれにて。
Pythonではchar型
が存在しないため
-
ただし1文字である必要がある↩
*1:わかりやすく解説している他サイトを見ない