Я узнаю больше о встроенных функциях Python и сталкивался с PERP () . Я понимаю, что он используется для получения «представления» объекта, но я немного неясен в его практических случаях использования и то, как оно отличается от str () .
, специфично, я ищу объяснения и примеры на:
[*]
Core: Что является первичным интенсивным интенсивным или кодовым или кодовым (Plound> CODEPY> CODEPOY или CODEPY PLILESPOY или CODEPY PLILESPOY? Когда обычно его использует разработчик? Классы Python для контроля того, как представлены мои объекты? < /Li>
vs. str () : [/b] Каковы различия между ключами между repr () и str () ? Когда я должен предпочесть один над другим для отладки, ведения журнала или вывода, ориентированного на пользователя? Заранее спасибо. < /P>
Что я попробовал: < /strong> < /p>
Код: Выделить всё
my_string = "hello"
print(repr(my_string))
my_list = [1, 2, 'three']
print(repr(my_list))
my_int = 123
print(repr(my_int))
[*] Что я ожидал: [/b] для строк, я ожидал увидеть только Hello (например, print () ). Для списков и целых чисел я ожидал увидеть [1, 2, 'three'] и 123 соответственно.
что на самом деле привело (вывод):
Код: Выделить всё
'hello'
[1, 2, 'three']
123
< /code>
< /li>
< /ul>
'hello'
) с кавычками было немного неожиданным, как и идентичный вывод для списков и целых чисел по сравнению со стандартным print () . Это заставило меня реализовать repr () не просто для печати, и есть разница между ним и str () или неявной печати. Я хочу понять значимость этого различия и как применять PERP () эффективно, особенно с пользовательскими классами.
Подробнее здесь:
https://stackoverflow.com/questions/797 ... presentati