Форум сайта python.su
Изучаю питон по книге Майкла Доусона. Там одна из первых программ демонстрирует работу со строками, а именно со строками в тройных кавычках. При запуке происходит какой-то сдвиг. То, что проблема в слешах - это понятно. Они подсвечиваются. И если их заменить на другие символы, то сдвиг не произойдет.
Но почему они себя так ведут? И именно эти слеши? А самый последний слеш вообще не отрисовывается. А если тройные кавычки подвинуть к нему и оставить через пробел, то он отрисовывается (\ “”").
И то, что это связанно с экранированием - тоже понятно. Но, что они тут экранируют - не ясно.
Ссылку на картинку вставил, но она не отображается. Скриншот залил на хостинг. Ссылка чуть ниже.
Your text to link here…
print( """ _____ ___ ___ ___ _____ / ___| / | / |/ | | ___| | | / /| | / /| /| | | |__ | | _ / ___ | / / |__/ | | | __| | |_| | / / | | / / | | | |___ \_____/ /_/ |_| /_/ |_| |_____| _____ _ _ _____ _____ / _ \ | | / / | ___| | _ \ | | | | | | / / | |__ | |_| | | | | | | | / / | __| | _ / | |_| | | |/ / | |___ | | \ \ \_____/ |___/ |_____| |_| \_\ """ )
Отредактировано TohaTony (Апрель 5, 2015 07:12:18)
Офлайн
>>> print( ... r""" ... _____ ___ ___ ___ _____ ... / ___| / | / |/ | | ___| ... | | / /| | / /| /| | | |__ ... | | _ / ___ | / / |__/ | | | __| ... | |_| | / / | | / / | | | |___ ... \_____/ /_/ |_| /_/ |_| |_____| ... _____ _ _ _____ _____ ... / _ \ | | / / | ___| | _ \ ... | | | | | | / / | |__ | |_| | ... | | | | | | / / | __| | _ / ... | |_| | | |/ / | |___ | | \ \ ... \_____/ |___/ |_____| |_| \_\ ... """ ... ) _____ ___ ___ ___ _____ / ___| / | / |/ | | ___| | | / /| | / /| /| | | |__ | | _ / ___ | / / |__/ | | | __| | |_| | / / | | / / | | | |___ \_____/ /_/ |_| /_/ |_| |_____| _____ _ _ _____ _____ / _ \ | | / / | ___| | _ \ | | | | | | / / | |__ | |_| | | | | | | | / / | __| | _ / | |_| | | |/ / | |___ | | \ \ \_____/ |___/ |_____| |_| \_\ >>>
>>> 'abc\ ... xxx' 'abcxxx' >>> >>> '''abc\ ... xxx''' 'abcxxx' >>>
Отредактировано py.user.next (Апрель 5, 2015 08:56:56)
Офлайн
Спасибо!
Но они всё-равно странно себя ведут. В коде всего три строки, которые заканчиваются обратным слешем. Беда в том, что из них можно поставить пробел только у одного. Точнее говоря поставить можно у всех, но когда запускаешь скрипт, то пробел остается только у того обратного слеша, у которого ты поставил его последним. Остальные при запуске автоматом удаляются.
Проверил на двух других IDE. По ходу это Pycharm капризничает. В питоновском ide и на ide онлайн - всё отрисовалось правильно.
Pycharm скорее всего сам подтирает пробелы.
Отредактировано TohaTony (Апрель 5, 2015 10:00:15)
Офлайн
TohaTonyНу да, некоторые так делают. Поищи там в настройках, возможно, есть способ отключить форматирование.
Pycharm скорее всего сам подтирает пробелы.
Офлайн
_____ ___ ___ ___ _____
/ ___| / | / |/ | | ___|
| | / /| | / /| /| | | |__
| | _ / ___ | / / |__/ | | | __|
| |_| | / / | | / / | | | |___
\_____/ /_/ |_| /_/ |_| |_____|
_____ _ _ _____ _____
/ _ \ | | / / | ___| | _ \
| | | | | | / / | |__ | |_| |
| | | | | | / / | __| | _ /
| |_| | | |/ / | |___ | | \ \
\_____/ |___/ |_____| |_| \_\
Точнее говоря поставить можно у всех, но когда запускаешь скрипт, то пробел остается только у того обратного слеша, у которого ты поставил его последним.
Офлайн
Пробелы могут стираться на концах строк.
Офлайн