Python ascii() 関数
ascii()Python でオブジェクトの ASCII 表現を返すために使用される組み込み関数です。
ascii()文字列を返します。これはrepr()に似ていますが、非 ASCII 文字を ASCII 文字にエスケープします。これはデバッグやログ記録に非常に役立ちます。
単語の意味: asciiは American Standard Code for Information Interchange(アメリカ情報交換標準コード)の略です。
基本構文とパラメータ
構文形式
ascii(object)
パラメータの説明
- パラメータ object:
- 型:任意のオブジェクト
- 説明:ASCII 表現を取得するオブジェクト。
関数の説明
- 戻り値:文字列を返します。
- 特徴:非 ASCII 文字は
\x、\u或\U形式にエスケープされます。
例
例1:基本的な使い方
例
# 純粋な ASCII 文字列
s = "Hello"
print(ascii(s)) # 出力: 'Hello'
# 非 ASCII 文字を含む
s = "你好"
print(ascii(s)) # 出力: '\xe4\xbd\xa0\xe5\xa5\xbd'
# 中国語と英語の文字が混在
s = "Hello 你好"
print(ascii(s)) # 出力: 'Hello \xe4\xbd\xa0\xe5\xa5\xbd'
# その他の非 ASCII 文字
s = "café"
print(ascii(s)) # 出力: 'caf\xc3\xa9'
s = "Hello"
print(ascii(s)) # 出力: 'Hello'
# 非 ASCII 文字を含む
s = "你好"
print(ascii(s)) # 出力: '\xe4\xbd\xa0\xe5\xa5\xbd'
# 中国語と英語の文字が混在
s = "Hello 你好"
print(ascii(s)) # 出力: 'Hello \xe4\xbd\xa0\xe5\xa5\xbd'
# その他の非 ASCII 文字
s = "café"
print(ascii(s)) # 出力: 'caf\xc3\xa9'
実行結果の予想:
'Hello' '\xe4\xbd\xa0\xe5\xa5\xbd' 'Hello \xe4\xbd\xa0\xe5\xa5\xbd' 'caf\xc3\xa9'
コードの解説:
- 純粋な ASCII 文字はそのまま保持されます。
- 非 ASCII 文字はエスケープされます。
- 中国語の文字は
\x16進数エスケープを使用します。
例2:repr() との比較
例
# repr vs ascii
s = "中文"
print(f"repr: {repr(s)}") # 出力: repr: '中文'
print(f"ascii: {ascii(s)}") # 出力: ascii: '\xe4\xb8\xad\xe6\x96\x87'
# リスト
lst = ["Hello", "你好", "café"]
print(repr(lst)) # 出力: ['Hello', '你好', 'café']
print(ascii(lst)) # 出力: ['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9']
# 出力に使用(エンコードエラーを回避)
import sys
print(ascii("测试")) # 出力: '\xe6\xb5\x8b\xe8\xaf\x95'
s = "中文"
print(f"repr: {repr(s)}") # 出力: repr: '中文'
print(f"ascii: {ascii(s)}") # 出力: ascii: '\xe4\xb8\xad\xe6\x96\x87'
# リスト
lst = ["Hello", "你好", "café"]
print(repr(lst)) # 出力: ['Hello', '你好', 'café']
print(ascii(lst)) # 出力: ['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9']
# 出力に使用(エンコードエラーを回避)
import sys
print(ascii("测试")) # 出力: '\xe6\xb5\x8b\xe8\xaf\x95'
実行結果の予想:
repr: '中文' ascii: '\xe4\xb8\xad\xe6\x96\x87' ['Hello', '你好', 'café'] ['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9'] '\xe6\xb5\x8b\xe8\xaf\x95'
ascii()純粋な ASCII 環境で非 ASCII 文字を表示または記録する必要がある場合に非常に役立ちます。
その他の拡張
Python3 組み込み関数