こちらのページに以下の記述がありました。
C言語のプログラムでは,文字データもASCIIコードによって変換された整数データとして扱われるため,例えば次のように計算することができる.
char c, C
int offset;
C = '何か大文字のアルファベット';
offset = 'a' - 'A'; //大文字と小文字のASCIIコードの差
c = C + offset; //大文字を小文字に変換,小文字をcに格納
私自身はC言語は分からないのですが、pythonではどうかなと考えてみると、文字列にたいして引き算はできず、足し算は文字列の連結が行われます。
python
1>>> 'black' + 'pink' 2'blackpink' 3>>> 'black' - 'pink' 4Traceback (most recent call last): 5 File "<stdin>", line 1, in <module> 6TypeError: unsupported operand type(s) for -: 'str' and 'str'
一方で比較演算子を用いた場合は
python
1>>> 'あ' < 'い' 2True 3>>> 'a' < 'c' 4True
のようにUnicodeのコードポイントとして比較されると理解しています。
これは四則演算では文字列をそのまま文字列として扱い、比較演算子を用いた場合はコードポイントとして扱うというpythonの仕様ですか?
また、これらについて言及されている公式ドキュメントなどごぞんじでしたら紹介いただけますか?(見つけられませんでした)

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。