Должен ли я и как добавлять методы для int в Python?

(Это вопрос, связанный с обучением, поэтому любые советы о том, почему я должен что-то делать или не делать, а также рекомендуемые ресурсы для улучшения этих вещей, более чем полезны.) Я '

я пытаюсь узнать об ООП в Python, и сделал простое "Время" класс как это:

class Time(object):

    """A time representation."""

    def __init__(self, hours=0, minutes=0, seconds=0):
        self.hours = hours
        self.minutes = minutes
        self.seconds = seconds

    def __int__(self):
        return self.hours * 3600 + self.minutes * 60 + self.seconds

Теперь, когда__ИНТ__ метод позволяет мне получить int от моегоВремя" случаи, которые представляют время (но в секундах), когда я делаюint(Time(3, 4, 5)), Между прочим, я нахожу это немного удивительным. Но, чтобы использовать это, было бы неплохо знать, как сделать "ИНТ» есть новый метод, который возвращает "Время" объект, так что-то вроде3643.time() может быть сделано

Зачем? По разным причинам:

Потому что так я узнаю, что для меня сейчас похоже на черную магию. (эти подчеркнутые вещи, которые делают вещи ... и связанные вещи)

Потому что я нене знаю, почему я не должент. (так скажи мне, пожалуйста)

Я полагаю, я мог бы сделать что-то вроде следующего за пределами любого класса:

def time(seconds):
    """Return an HH:MM:SS stamp of "seconds", where "seconds" should be an int."""
    hours, minutes = 0, 0
    if seconds >= 3600:
        hours, seconds = divmod(int, 3600)
    if seconds >= 60:
        minutes, seconds = divmod(int, 60)
    return "{:02d}:{:02d}:{:02d}".format(hours, minutes, seconds)

Но это неКажется, это не относится к этим объектам достаточно,не кажется, что объектно-ориентированный ... Так что, я думаю, возможно, есть лучший способ приблизиться к такого рода вещам.

Ответы на вопрос(1)

Ваш ответ на вопрос