Форум сайта python.su
0
Читаю книгу Марка Лутца “Изучаем Python”. В главе про классы встретил конструкцию:
'Current value = “%s”' % self.data
Объясните пожалуйста, как эта собака работает? Я понял, что на место %s вставляется значение из self.data, но почему %s а не, напрмер, %a? Хотя заменив %s на %a я получил такой же итог… Объясните дураку?
Офлайн
20
BearProБуква s в %s - это сокращение от “string” (строка). То есть указание, что на месте %s должна быть выведена строка. А также это удобно для тех, кто пришел в Python из языка C. Там точно так же %s используется в printf() и других подобных функциях.
Я понял, что на место %s вставляется значение из self.data, но почему %s а не, напрмер, %a?
Офлайн
0
Ещё вопрос: Я, получается, могу только одну строку так обозначить за раз? А так я в принципе понял, благодарю.
Офлайн
20
Одна строка может быть один символ ('a'), одно слово ('hello'), группа слов ‘hello, world’ - все, что между открывающей и закрывающей кавычками строкового литерала. Можно даже целый текстовый файл с диска прочитать в одну строку и вывести его одним print' ом. Также при вызове print нет ограничений на количество %s. Например, ‘hello, world’ можно вывести и так:
>>> x = 'hello' >>> y = 'world' >>> print("%s, %s" % (x, y)) hello, world >>>
Офлайн