Форум сайта python.su
Всем привет.
В книге Лунц М. “Изучаем питон” , на стр. 240 есть такой пример
somelist = list('SPAM') 'first={0[0]}, third={0[2]}'.format(somelist)
first={somelist[0]}
Отредактировано roggerg (Авг. 9, 2016 04:28:27)
Офлайн
Офлайн
я тоже не понял что это дает
somelist = list('SPAM') 'first={0}, third={0}'.format(somelist) first=['S', 'P', 'A', 'M'], third=['S', 'P', 'A', 'M']
somelist = list('SPAM') print('first={0}, third={2}'.format(*somelist)) first=S, third=A
Офлайн
marvellikТ.Е. вы считаете что способ примененный в языке необоснован?
я тоже не понял что это дает
'first={0}, third={1}'.format(somelist[0],somelist[1])
somelist=[1,2,3] f'first={somelist[0]}, third={somelist[1]}'
Офлайн
marvellikОн просто вставил без тегов кода. А когда вставляешь без тегов кода, форум удаляет квадратные скобки (думает, что это теги какие-то). Поэтому он вставлял одно рабочее, а получилось другое тоже рабочее.
я тоже не понял что это дает
Отредактировано py.user.next (Авг. 8, 2016 09:36:30)
Офлайн
doza_andя из вопроса автора исходил о непонятках где написан такой вариант ‘first={0}, third={0}’.format(somelist). ваш варианты совершенно понятны когда аргументами являются элементы списка взятые по индексу
doza_and
Отредактировано marvellik (Авг. 8, 2016 17:10:25)
Офлайн
Я поправил код, т.к. он был неправильно оформлен.
Вопрос осталься в силе.
Офлайн
roggerg
Вопрос осталься в силе.
roggergПотому что функция не знает имени объекта который ей передали (общее свойство всех функций питона), поэтому не может знать что его звали somelist
но почему это сделано так а не так например
'first={somelistX[0]}, third={somelistX[2]}'.format(somelistX=somelist)
roggergЭто номер аргумента метода format
Но я не где не нашел обьяснения что означает первый ноль,
"{0},{1},{2}".format("a","b","c") >>> "a,b,c"
Отредактировано doza_and (Авг. 9, 2016 09:38:39)
Офлайн
doza_andОно уже реализовано в версии 3.6, которая ещё не вышла.
Вопрос о неявной интерполяции окружения обсуждается
Офлайн
py.user.nextДа но вот докустимо его использовать или нет это вопрос. В разных командах по разному. Может быть так что это не будет приветствоваться в том коллективе с которым ТС будет общаться.
Оно уже реализовано
Офлайн