Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2016 20:39:49

minin
Зарегистрирован: 2016-08-19
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

Друзья! Тут читаем:

Two string literals next to each other are automatically concatenated; the first line above could also have been written word = ‘Help’ ‘A’; this only works with two literals, not with arbitrary string expressions:
То есть ТОЛЬКО ДВЕ строки могут соединяться меж собой, если они идут друг за другом и не больше. (В оригинале далее зачем-то следует использование метода strip)

 >python
Python 3.1.1 (r311:74483, Aug 17 2009, 17:02:12) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 'H''e''l''l''o'
'Hello'
>>>

5 строк успешно друг за другом соединились. Может кто-нибудь это объяснить? Спасибо, кто откликнется.

Офлайн

#2 Сен. 23, 2016 21:18:32

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

minin
То есть ТОЛЬКО ДВЕ
Нет, написано что не работает с произвольными выражениями дающими строки.

Думаю так после того как два литерала конкатенировались, можно опять применять правило к новой строке и остатку.



Офлайн

#3 Сен. 23, 2016 22:03:42

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

Поясню проще

 #
>>> a = "12" "3"
>>> a
Out[3]: '123'
>>> a = "12" str("3")
  File "<ipython-input-4-7152a804bc5b>", line 1
    a = "12" str("3")
               ^
SyntaxError: invalid syntax

Офлайн

#4 Сен. 24, 2016 02:58:29

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

python.org. tutorial. strings

Two or more string literals (i.e. the ones enclosed between quotes) next to each other are automatically concatenated.
This only works with two literals though, not with variables or expressions:
Всё правильно написано.

minin
Может кто-нибудь это объяснить? Спасибо, кто откликнется.
1) Английский подучить не мешало бы.
2) Не надо читать старые документации (ко второму питону, к старым релизам типа 3.1), читай свежую.
Документация всё время улучшается и свежая всегда доступна по адресу https://docs.python.org/3/ , а свежайшая - https://docs.python.org/dev/ .



Отредактировано py.user.next (Сен. 24, 2016 03:02:55)

Офлайн

#5 Сен. 30, 2016 11:45:14

minin
Зарегистрирован: 2016-08-19
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

py.user.next
1) Английский подучить не мешало бы.
ну это-то понятно. Но всё-таки “two string” это “”two string“ а не ”“two string or more”, какой бы там английский ни был.

py.user.next
2) Не надо читать старые документации (ко второму питону, к старым релизам типа 3.1), читай свежую.
я какой питон использую, такую документацию и читаю. Я использую питон 3.1.1, о чём написал в первом сообщении, следовательно и читаю документацию к нему. И там не написано “two or more”, там написано “two string literals” ну и так далее.

Зачем вы к моему питону 3.1.1 даёте документацию к 3.5.2, непонятно.

Причины неперехода на 3.5.2 более чем уважительные, но они не относятся к теме.

Отредактировано minin (Сен. 30, 2016 12:05:13)

Офлайн

#6 Сен. 30, 2016 12:08:44

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

Вам написали, что документация также развивается как и версии питона. Это как книга, которая переиздается. Что Вас конкретно смущает? Вы не можете с такими расхождения писать код?

Офлайн

#7 Сен. 30, 2016 12:27:50

minin
Зарегистрирован: 2016-08-19
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

4kpt_IV
Что Вас конкретно смущает?
меня смущает, почему версия питона у меня 3.1.1, а документацию мне показали для версии питона 3.5.2

Лучше объяснить не удастся, так что не уточняйте.

Офлайн

#8 Сен. 30, 2016 12:38:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

minin
ну это-то понятно. Но всё-таки “two string” это “”two string“ а не ”“two string or more”, какой бы там английский ни был.
Не, тут дело в том, что там тоже неплохо написано. Любой англоговорящий поймёт это однозначно. Просто твой английский на таком уровне, когда ты переводишь слова (и связи между ними) дословно, что не принято делать. Такой уровень получается при изучении английского в школе, где его преподают учителя, которые никогда не общались с иностранцами.

Вот мы берём фразу из 3.1.1
Two string literals next to each other are automatically concatenated; the first line above could also have been written word = ‘Help’ ‘A’; this only works with two literals, not with arbitrary string expressions:
Вот это место this … , not … - распространённая конструкция в английском языке. Просто тебе в школе про неё никто не рассказал. Поэтому ты и непонимаешь, что местоимение this относится к not определённым образом (фактически this несёт функцию подлежащего для not, так как not без this здесь никак нельзя использовать, а сказать эту часть с not надо).

minin
какой бы там английский ни был.
В английском ты не может переводить части предложения, потому что там от наличия тех или иных частей может меняться смысл других частей. Тебя не научили, ты не знаешь, как переводить предложения, а ты нам тут втираешь, что англоязычные ребята неправильно написали.

minin
Зачем вы к моему питону 3.1.1 даёте документацию к 3.5.2, непонятно.
Эти питоны находятся в пределах одной мажорной версии, поэтому большая часть документации для 3.5.2 обратно совместима с 3.1.1. Но даже для второй версии надо читать документацию к третьему питону, потому что сама документация ко второму не так ясна, как та же самая документация к третьему. Очень часто бывает так, что человек, прочитавший документацию ко второму питону, знает про особенности второго питона меньше, чем человек, прочитавший ту же документацию к третьему питону.



Офлайн

#9 Окт. 4, 2016 15:10:10

minin
Зарегистрирован: 2016-08-19
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

py.user.next
а ты нам тут втираешь
Ну что сказать, оттоптался ты по мне знатно. Ладно, хер с ним, утрусь. Надеюсь тебя в моих темах больше не увидеть.

Офлайн

#10 Окт. 4, 2016 15:49:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Конкатенация строк выполняется в противоречии с правилами.

minin
Ну что сказать, оттоптался ты по мне знатно.
Ты хотел выпендриться, типа умный, а не получилось, потому что здесь тоже не тупые сидят. У тебя же так и прёт “я умнее разработчиков документации” - значит, какая-то проблема с самооценкой. Потому что реально ты не знаешь ничего, а гонору - выше крыши, будто бы перед нами гений какой-то.



Отредактировано py.user.next (Окт. 4, 2016 15:50:21)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version