概要
Python
のoct
関数は、整数を8進数(オクタル)表記に変換するための関数です。プログラム内で数値を扱う際、特定の基数で表記することが必要になることがありますが、oct
はその中でも8進数表記を生成するために使われます。結果は”0o”というプレフィックスが付いた文字列形式で返され、数値処理やデータの視覚化に役立ちます。
構文
oct(整数)
oct
関数は1つの整数を引数として取り、その整数を8進数表記に変換して返します。返される値は、8進数で表された文字列です。
使用例
基本的な使用例
整数を8進数に変換する基本的な例です。
print(oct(10)) # 出力: '0o12'
print(oct(64)) # 出力: '0o100'
この例では、整数10
が8進数の12
に変換され、整数64
が8進数の100
に変換されているのが確認できます。
負の整数を8進数に変換する
負の整数をoct
関数に渡すと、マイナス記号が付いた8進数の文字列が返されます。
print(oct(-10)) # 出力: '-0o12'
負の整数-10
を8進数に変換すると、-0o12
という結果が得られます。oct
関数は、数値の符号を維持したまま8進数に変換します。
大きな整数の8進数変換
Python
では大きな整数にも対応しており、oct
関数でそれらを8進数に変換することが可能です。
print(oct(1024)) # 出力: '0o2000'
1024
という大きな数も正確に8進数2000
として変換されます。
oct関数の戻り値について
oct
関数は、変換後の8進数を「0o」というプレフィックス付きで返します。これは、8進数表記であることを明示するためのPython
の仕様です。以下に、いくつかの具体例を示します。
print(oct(8)) # 出力: '0o10'
print(oct(16)) # 出力: '0o20'
print(oct(255)) # 出力: '0o377'
各出力で見られるように、結果には必ず0o
が付加され、これが8進数であることを示しています。
8進数リテラルとしての使用
Python
では、整数を8進数リテラルとして直接記述することもできます。この場合、0o
というプレフィックスを付けて8進数であることを明示します。
octal_number = 0o12
print(octal_number) # 出力: 10
0o12
という8進数リテラルは、実際の値としては10進数の10
に相当します。このように、8進数リテラルは特定の状況で利用されることが多く、特に低レベルのシステムや古いファイルフォーマットなどで有用です。
注意点
oct
関数の引数としては、整数型でなければなりません。浮動小数点数やその他の型を渡すとエラーになります。
print(oct(3.14)) # TypeError: 'float' object cannot be interpreted as an integer
- 返される8進数は文字列形式なので、数値演算を行う際は文字列を数値に変換する必要があります。
まとめ
Python
のoct
関数は、整数を8進数に変換するための便利な関数です。数値は0o
プレフィックス付きの文字列として返され、負の整数にも対応しています。この関数を使うことで、8進数表記が必要なシステムやデータフォーマットで簡単に数値を扱うことができます。oct
関数を活用して、効率的に数値変換を行いましょう。