При условии, что в '07: 30: 00 'не будет расширенных символов кодировки, используйте str(self.start)
.
Если существует вероятность того, что числа во времени зависят от набора символов, используйте encode()
с соответствующим спецификатором аргумента error
для преобразования в строку.
Это могут быть случаи, когда более питонски сначала пытаться str()
и использовать except
для обработки дел, которые не могут быть преобразованы (попросите прощения, а не разрешения). Если большинство значений, которые вы пытаетесь преобразовать, не удалось, с другой стороны, сначала преобразуйте их перед применением функции.
Как нежелательное замечание: функция combine
ожидает объект datetime.date и объект datetime.time. Если вы действительно хотите избежать непредсказуемого поведения, тогда выполняйте требования API и передайте объекты date
и time
, а не пытайтесь замкнуть контракт, указанный в документации: преобразуйте аргументы перед вы звоните combine
, а не просите combine
угадать для вас.