В глубь языка Python


         

Метод keys словаря не имеет


>>> {}.keys.__doc__


>>> {}.keys.__doc__ == None


1 >>> str({}.keys.__doc__)


'None'
Метод keys словаря не имеет строки документации, так что его атрибут __doc__ равен None. Если вы набираете выражение для атрибута __doc__

непосредственно в интерактивном режиме, интерпретатор Python ничего не выводит, что может сбить с толку (такое поведение интерпретатора действительно удобно, если впомнить о процедурах, которые в языке Python возвращают None).
Вы можете убедиться, что атрибут __doc__ действительно равен None простым сравнением.
Функция str возвращает строковое представление объекта, в данном случае 'None'.
В SQL вы должны использовать IS NULL вместо = NULL для сравнения с пустым значением. В языке Python вы можете использовать как == None, так и is None, но второй вариант работает быстрее.


Теперь, когда мы уверены в том, что значение всегда будет строковым, можно передать его функции processFunc, которая сворачивает символы пропуска или возвращает строку без изменений. Теперь вы видите, почему важно использовать функцию str для преобразования None к строке. processFunc считает, что ее аргумент является строкой и вызывает его метод split. При попытке вызвать processFunc

для None будет сгенерировано исключение, так как у None нет метода split.

Далее мы снова используем форматирование, чтобы соединить значение, возвращаемое функцией processFunc, со результатом применения метода ljust к строке method. Это новый метод строковых объектов, который мы раньше не видели.

Пример 2.28. Метод ljust

>>> s = 'buildConnectionString' >>> s.ljust(30)


'buildConnectionString ' >>> s.ljust(20)


'buildConnectionString'
ljust дополняет строку пробелами до указанной длины. Именно это делает функция help при выводе в две колонки для выравнивания строк документации во второй колонке.
Если требуемая длина меньше, чем исходная длина строки, ljust вернет строку без изменений. Этот метод никогда не обрезает строку.


Ну вот и почти все сделано.

Содержание  Назад  Вперед