Форум сайта python.su
0
Много у кого спрашивал, но до сих пор не получил более менее внятного ответа.
Может на этом форуме мне кто-нибудь объяснит.
Почему создатели питона в основу работы со строками положили не perl-подобный синтаксис, а нечто из си?
Чем конструкция типа “text $var1 text” хуже чем “text % text” % var1 ???
Офлайн
568
oleg.p
начать с того, что такой код в питоне не заработает
“text % text” % var1?
>>> "text % text" % var1 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: unsupported format character 't' (0x74) at index 7 >>>
Офлайн
221
oleg.p
0) вам уже сказали тчо пример не рабочий
1) Задавать такой вопрос надо тому кто принял решение, а не сообщество.
2) Вас действительно интересует этот вопрос настолько что вы бегаете по форумам распрашивая это?
3) Зачем вам эта информация? Как она вам поможет? Как вы ее использовать будете?
4) Ну и вот собственно Влияние других языков на Python
Отредактировано JOHN_16 (Фев. 3, 2017 19:20:56)
Офлайн
0
FishHook
начать с того, что такой код в питоне не заработает
“text % text” % var1?
Офлайн
568
oleg.pТеперь внимание, вопрос! Зачем тут s. Не мучай мозг, отвечу. Затем, что вариантов форматирования великое множество, s - один из них. А есть еще b, c, d, x, X, o, n, а еще есть различные виды представления флоатов, дат и вообще всякое.
Прошу прощение: “text %s text” % var1
>>> "+%06.2f" % 9.89723 '+009.90'
Офлайн
0
FishHook
oleg.p
Прошу прощение: “text %s text” % var1
Теперь внимание, вопрос! Зачем тут s. Не мучай мозг, отвечу. Затем, что вариантов форматирования великое множество, s - один из них. А есть еще b, c, d, x, X, o, n, а еще есть различные виды представления флоатов, дат и вообще всякое.
Офлайн
857
>>> 'Hello, %(name1)s, how are you? %(name2)s, look at %(name1)s.' % {'name1': 'John', 'name2': 'Nancy'} 'Hello, John, how are you? Nancy, look at John.' >>>
Офлайн
253
oleg.pОна хуже тем что нельзя указать какими переменными ограничиться и наверное нельзя задать выражения для подстановки.
Чем конструкция типа “text $var1 text” хуже чем “text % text” % var1 ???
>>> name = "Fred" >>> f"He said his name is {name}." 'He said his name is Fred.'
>>> name = "Fred" >>> n2 = 2 >>> "He said his name is {name} {n2}.".format(**globals()) 'He said his name is Fred 2.'
Отредактировано doza_and (Фев. 4, 2017 09:01:10)
Офлайн
0
Всем спасибо за прекрасные примеры!
Офлайн