Существует разница между строковым представлением и содержимым строки . Всякий раз, когда вы print
что-то, Python выводит содержимое строки как есть. Всякий раз, когда вы проверяете значение (например, просто набрав s
в приглашении или используя repr(s)
), Python предоставит вам представление значения; он пытается дать вам то, что вы можете использовать, как есть в исходном коде Python. Пример:
>>> datetime.now()
datetime.datetime(2018, 7, 13, 15, 58, 37, 162588)
Вы можете использовать datetime.datetime(2018, 7, 13, 15, 58, 37, 162588)
буквально, как это, в исходном коде Python, чтобы воссоздать именно этот объект datetime
.
С помощью строк он работает одинаково. Строковый литерал "Siti's father says, \"Hello\""
создает строку с содержимым Siti's father says, "Hello"
. Представление этой строки было бы любым из них:
"Siti's father says, \"Hello\""
'Siti\'s father says, "Hello"'
'''Siti's father says, "Hello"'''
'Siti\x27s father says, "Hello"'
Python дает вам one из этих возможных представлений, а именно с одинарной кавычкой.
Рыба в настоящее время буферизирует все выходные данные, принадлежащие функциям и блокам, поэтому:
Вы не делаете.