Skip to main content

Python oct() Function

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

note

Octal strings in Python are prefixed with 0o.

Syntax

oct(x)

oct() Parameters

Python oct() function parameters:

ParameterConditionDescription
xRequiredMust 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

# This will raise a TypeError because oct() ca nnot handle floating point values.
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