Skip to content

Python oct() Function

How to use Python's built-in oct() function to convert integers (decimal, binary, or hexadecimal) into their octal string representation with the 0o prefix.

The oct() function in Python is used to convert an integer into its octal string representation.

Syntax

oct(x)

oct() Parameters

Python oct() function parameters:

Parameter Condition Description
x Required Must be an integer number. It can be in binary, decimal, or hexadecimal format. If not an integer, it should implement the __index__() method to return an integer.

oct() Return Value

Python oct() function returns an octal string from the given integer number.

Examples

Example 1: Basic Octal Conversion

Let's convert a decimal number to its octal representation.

integer_number = 219
octal_number = oct(integer_number)
print(octal_number) # Output: 0o333

output

0o333

Other examples:

print(oct(123))     # Output: 0o173
print(oct(456))     # Output: 0o710
print(oct(789))     # Output: 0o1425
print(oct(10000))   # Output: 0o23420

output

0o173
0o710
0o1425
0o23420

Example 2: Octal Conversion of a Negative Integer

integer_number = -219
octal_number = oct(integer_number)
print(octal_number) # Output: -0o333

output

-0o333

Other examples:

print(oct(-123))     # Output: -0o173
print(oct(-456))     # Output: -0o710
print(oct(-789))     # Output: -0o1425
print(oct(-10000))   # Output: -0o23420

output

-0o173
-0o710
-0o1425
-0o23420

Example 3: Converting Binary number to Octal

binary_number = 0b1010
octal_number = oct(binary_number)
print(octal_number)

output

0o12

Other examples:

print(oct(0b111))     # Output: 0o7
print(oct(0b1001))    # Output: 0o11
print(oct(0b1011))    # Output: 0o13
print(oct(0b10000))   # Output: 0o20

output

0o7
0o11
0o13
0o20

Example 4: Converting Hexadecimal number to Octal

hexadecimal_number = 0xA21
octal_number = oct(hexadecimal_number)
print(octal_number)

output

0o5041

Other examples:

print(oct(0xA53))      # Output: 0o5123
print(oct(0xAA11))     # Output: 0o125021
print(oct(0xABCD))     # Output: 0o125715
print(oct(0xA1B2C3))   # Output: 0o50331303

output

0o5123
0o125021
0o125715
0o50331303

Example 5: Handling TypeError for Floating Point Values

The oct() function can not handle floating point values, si it will raise a TypeError exception.

floating_number =  12.3

octal_number = oct(floating_number)

output

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    octal_number = oct(floating_number)
TypeError: 'float' object cannot be interpreted as an integer

Example 6: Custom Objects with __int__() Method

In this example, a custom class MyClass is defined with an __int__() method to support octal conversion. The oct() function is then used on an instance of this class.

class MyClass:
    def __int__(self):
        return  10

a = MyClass()
result = oct(int(a)) # 10 in decimal = 12 in octal
print(result) # Output: 0o12

output

0o12
Navigation