|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Вообще нуб в этом языке. Сегодня столкнулся с ним в первый раз. И вопросы тоже нубские. Есть две строки кода, которые выполняют одну и ту же работу - формируют строку из фрагментов. Но реализованы они по разному: Первая строка: "Cat key = %s" % str(v_catkey) Вторая строка: "Flat file name = " + v_flat_file Почему в первой строке фрагменты объединяются с помощью оператора "%", а во второй строке - с помощью "+"? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 12:38 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Судя по всему, в первой строке v_catkey не представляет собой строку, поэтому конвертируется в нее с помощью str(). Во второй строке, наверное, v_flat_file сразу представляет собой стразу строковую переменную, поэтому используется "+"? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 12:40 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Это что, питон? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 12:41 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Первый случай - это форматирование строки, наподобие printf в С++, это более мощный инструмент. Второй - это обычная конкатенация. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 12:44 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
не, по идее это Java. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 13:29 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
А что такого мощного может быть в том, чтобы две строки сцепить в одну?! Обычная операция... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 13:30 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Или что такого сложного в том, чтобы две строки сцепить в одну?! Это же простейшие вещи! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 13:31 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
GrayMagellanА что такого мощного может быть в том, чтобы две строки сцепить в одну?! Обычная операция... Конкатенация это в данном случае, но инструмент может и больше, например: Код: python 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 13:38 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Hett, Гм... Я правильно понимаю, что первый % в вашем примере - это символ форматирования? А второй - это какой-то особый вид конкатенации? Почему не используется такая конструкция: Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 17:01 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Скукота... Читать документацию не пробовали? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 20:27 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
GrayMagellanПервая строка: Код: java 1.
Вторая строка: Код: java 1.
Почему в первой строке фрагменты объединяются с помощью оператора "%", а во второй строке - с помощью "+"? Практически всегда имеет смысл использовать конкатенацию с плюсом "+". Для старых компилляторов типа 1.5...1.6 рекомендовалось делать StringBuilder::append(..) но новые достаточно хорошо определяют когда нужно буферизировать. Исключение составляют случаи когда строки нужно не конкатенировать а форматировать сложным образом. Как например с вещественными числами или с датами. Справочная инфа здесь https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 23:03 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
HettСкукота...заНУБство (: GrayMagellanПочему в первой строке фрагменты объединяются с помощью оператора "%", а во второй строке - с помощью "+"?первый вариант - форматирование, а второй - конкатенация. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2017, 23:58 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Hett, пробовали искать в документации на Java все вхождения по ключевому слову "%"? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 11:45 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
GrayMagellan, Зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 11:47 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Я попробовал найти оператор % в списке операторов языка Java. Нашелся только такой (цитаты с http://proglang.su/java/operators?category=java&alias=40): % Делит левый операнд на правый операнд и возвращает остаток A % B даст 0 А на хабрахабре https://habrahabr.ru/post/260767/ столько мути про конкатенацию пишут, что отпадает всякое желание что-либо конкатенировать в Java. И главное - конкатенации с помощью оператора % там не описано. Ок, ладно, всем спасибо большое. Мне удалось безболезненно заменить % на +, и я так все и оставил. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 11:52 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Hett, Вы не обижайтесь на меня, но знаете почему автомат Калашникова так популярен во всем мире, а винтовка М-16, хотя и лучше его во много раз по ТТХ, используется только в американской армии? Я вам скажу - простота! Простые механизмы работают лучше в конечном итоге, чем сложные. Не понимаю, зачем столько нужно было накручивать вокруг простой конкатенации строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 11:56 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
В Java % - это деление по модулю. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 11:57 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Hett, но первая строка примера Код: javascript 1.
совсем не похожа на попытку поделить что-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 12:01 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Так это питон, я сразу же сказал вам об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 12:01 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Ладно, фиг с ним. Задача решена. Спасибо и вам большое за информацию. В моем случае все было полезным. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 12:02 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Hett, а ведь вы правы! сейчас пошел еще раз почитал документацию на продукт, и там действительно написано, что внутренние скрипты пишутся на Питоне. Почему у меня в голове стукнула мысль, что там используется Java??? Простите великодушно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 12:06 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Можно тогда эту тему перенести в профильную ветку Питона как-то?! Кому писать просьбу? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 12:07 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
GrayMagellanМожно тогда эту тему перенести в профильную ветку Питона как-то?! Кому писать просьбу? http://www.sql.ru/forum/actualutils.aspx?action=notifymod&msg=20649876 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 12:50 |
|
Построение строки из фрагментов, хранящихся в переменных
|
|||
---|---|---|---|
#18+
Код: python 1.
Вообще, конечно, часть такое наблюдаю по работе, руки оторвать хочется. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 12:54 |
|
|
start [/forum/topic.php?fid=23&msg=39490104&tid=1460571]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 542ms |
0 / 0 |