Найти - Пользователи
Полная версия: Метод строк.
Начало » Python для новичков » Метод строк.
1
penzu
Приветствую Всех. Прошу помощи для осознания небольшого момента в данном кусочке кода.

Есть некоторое выражение(№1):

'%s, eggs, and %s' %('spam','SPAMI')
Результат: spam, eggs, and SPAMI

Так же можно использовать метод(№2):

'{0}, eggs, and {1}'.format('spam','SPAMI')
Результат:spam, eggs, and SPAMI

В случае где мы используем метод, намного понятней, что spam имеет идентификатор {0}, а SPAMI соответственно {1}.

Но у меня возникла непонятка при использовании выражения (код под №1), я конечно понимаю что если смотреть на программную логику что результат получается такой же. Но каким образом он вначале выводит spam, потом SPAMI при одинаковом обозначении %s в описании инструкции выражения. Как он понимает при %s что первым идет spam а следом SPAMI. Или он выводит всё подряд по порядку ?
FishHook
penzu
Или он выводит всё подряд по порядку
Конгениально!
penzu
Спасибо
FishHook
a='%s, eggs, and %s'
def format(s, *args):
    for param in args:
        s = s.replace("%s", param, 1)
    return s
print format(a, 'spam','SPAMI')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB