Здесь есть некоторая путаница - педантично (а с компьютерами всегда лучше педантично ;-), здесь нет "восьмеричных чисел", есть строки , которые являются восьмеричными представлениями чисел (и других встречающихся строк, которые являются их десятичными представлениями, шестнадцатеричными представлениями). Базовые числа (целые числа) являются совершенно отличным типом от любого из представлений (по умолчанию отображается их десятичное представление) - например ::
>>> 2 + 2
4
>>> '2' + '2'
'22'
кавычки указывают на строки (то есть представления) - и отмечают, что, по сути, они не имеют ничего общего с числами, которые они могут представлять.
Итак, один из способов интерпретации вашего вопроса состоит в том, что вы хотите преобразовать восьмеричное представление в десятичное (и т. Д.) - это будет:
>>> str(int('0671', 8))
'441'
обратите внимание на кавычки (с указанием строк, то есть представлений). int(s, 8)
преобразует строку s
в целое число в виде восьмеричного представления (или вызывает исключение, если преобразование не может работать). str(n)
создает строковую форму числа n
(которое, как я уже говорил, по умолчанию является десятичным представлением).