Страницы

среда, 21 ноября 2012 г.

Строки. Основы.

Первое, что следует понять в Python строки это не изменяемые объекты. Каждый раз когда мы вносим изменения в строку, мы создаем новую. Строки могут быть записаны несколькими способами. Их можно заключить в одинарные или двойные кавычки.
>>> 'spam eggs'
'spam eggs'
>>> 'doesn\'t'
"doesn't"
>>> "doesn't"
"doesn't"
>>> '"Yes," he said.'
'"Yes," he said.'
>>> "\"Yes,\" he said."
'"Yes," he said.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'
Интерпретатор печатает символы, так же как они были набраны, за исключением кавычек и непечатаемых символов, для их отображения используется экранирование, обратная косая черта. Строковые литералы могут занимать несколько строк, для этого следует в конце строки поставить знак "\", указав, что следующая строка это логическое продолжение. Для переноса строки используется непечатаемый символ "\n".
hello = "This is a rather long string containing\n\
several lines of text just as you would do in C.\n\
    Note that whitespace at the beginning of the line is\
 significant."

print hello

This is a rather long string containing
several lines of text just as you would do in C.
    Note that whitespace at the beginning of the line is significant.
Так же строки могут находиться внутри тройных кавычек ''' или """. При таком форматировании строки будут выводиться на экран как есть. Этот подход часто используется для создания документации к модулю или программе.
print """
Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to
"""

Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to 
Для того чтобы сделать строковый литерал не изменяемым, необходимо перед ним поставить знак "r" ("raw"). В этом случае интерпретатор не будет обрабатывать непечатаемые символы, такие как "\n". Такой подход удобно использовать при формировании путей к файлам, так как путь может содержать "\n" (перенос строки) или "\t" (табуляция).
>>> path = 'C:\new\tmp'
>>> print path
C:
ew mp

>>> path = r'C:\new\tmp'
>>> print path
C:\new\tmp
>>> 
Строки можно объединять (конкатенировать) при помощи оператора "+" или повторять, оператор "*"
>>> word = 'Help' + 'A'
>>> word
'HelpA'
>>> '<' + word*5 + '>'
'<HelpAHelpAHelpAHelpAHelpA&>'
Если литералы стоят рядом друг с другом, они автоматически объединятся.
>>> 'hello ' 'world' '!' '.'
'hello world!.'

Комментариев нет:

Отправить комментарий