Создать строку можно, указав ее между апострофами или двойными кавычками, как уже было показано выше:
>>> а = "hello"; а
'hello'
>>> b "hi!"; b
'hi ! '
Данные строки ничем не отличаются, и вы можете использовать любой способ, какой вам больше нравится. В РНР есть разница между строками, заключенными в кавычки и в апострофы. В Python разницы никакой нет. Мой совет следующий: если строка содержит апострофы, заключайте ее в кавычки, если же строка содержит кавычки, то заключайте ее в апострофы. Все специальные символы в этих строках (что в кавычках, что в апострофах) интерпретируются, например, \t - это символ табуляции, \n - символ новой строки и т.д. Если нужно вывести символ \ как есть, его нужно экранировать:
>>> s = "Hello\\nworld"; s
'Hello\\nworld'
При использовании кавычек и апострофов вы не можете разместить объект на нескольких строках. Если нужно присвоить переменной многострочный текст, используйте тройные апострофы:
>>> s = '' 'Hello,
****
world! **** '''
Также создать строку можно с помощью функции str():
str(<строка>, <кодировка>, <обработка ошибок> )
Преимущество этой функции - вы сразу можете указать кодировку, в которой находится текст:
>>> s = str(b'\xd0\x9f\xdl\x80\xd0\xb8\xd0\xb2\xd0\xb5\ xdl \х82', 'utf-8') ; s
'Привет'
Обратите внимание: ранее мы использовали пример, в котором мы переменной str присваивали значение. Этим мы переопределили идентификатор str и при вызове функции str вы можете получить сообщение:
Traceback (most recent call last):
File "<pyshell#4", line 1, in <module>
s = str(b'\xd0\x9f\xdl\x80\xd0\xb8\xd0\xb2\xd0\xb5\ xdl\x82', 'utf-8');
TypeError: 'str' object is not callable
По привычке многие из нас используют идентификатор str для хранения какой-то промежуточной строки. В отличие от РНР, где можно использовать переменную $str и функцию str(), в Python этого лучше не делать, иначе вы не сможете использовать функцию str().
Да, РНР более гибкий язык и в нем вы легко можете использовать следующий код:
<?php
function str ($str)
echo $str;
}
$str = "Hello";
str($str);
?>
Одни сплошные идентификаторы str, но в Python так делать нельзя. Зато в Python есть строки документирования, которые сохраняются в атрибуте _doc_. Пример:
>>> def funcl():
""" Краткое описание “””
Pass
>>> print(funcl._doc )
Traceback (rnost recent call last):
File "<pyshell#9", line 1, in <module>
print(funcl._doc_)
AttributeError: 'function' object has no attribute ' doc '
>>> print(funcl._doc
Краткое описание
>>>
Обратите внимание, что имя атрибута содержит четыре знака подчеркивания - два до doc и два после, иначе вы получите ошибку.
Перед некоторыми строками необходимо разместить модификатор r. Специальные символы внутри строки будут выводиться как есть, например, \t не будет преобразован в символ табуляции. Такой модификатор будет полезен, если вы работаете с регулярными выражениями, а также при указании пути к файлу и каталогу:
>>> print(r"c:\test\test.py")
c:\test\test.py
Если модификатор не указать, то слеши нужно экранировать:
>>> print("c:\\test\\test.py")
c:\test\test.py