Текстовите низове са поредици (като списъците например), които обаче не могат да бъдат променяни на място — immutable
>>> sentence = "The quick brown fox jumps over the lazy dog"
>>> sentence[4]
'q'
>>> sentence[-1] = 't'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> for x in sentence: print x,
T h e q u i c k b r o w n f o x j u m p s o v e r t h e l a z y d o g
>>> sentence[-1:-4:-1]
'god'
>>> 'fox' in sentence
True
+
firstName, lastName = "Eric", "Idle"
print firstName + " " + lastName # "Eric Idle"
>>> heading, answer = "The answer: ", 42
>>> print heading + answer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> print heading + str(answer)
The answer: 42
Подобно е по функционалност на printf
в C
Синтаксис: форматен низ % стойностите в n-торка
Примери:
>>> "This is %d %s bird!" % (1, 'dead')
This is 1 dead bird!
>>> exclamation = "Ni"
>>> "The knights who say %s!" % exclamation
'The knights who say Ni!"
Параметрите могат да бъдат различни в зависимост от типа им:
%s
— текстов низ%r
— текстов низ, но с repr()
%d
, %i
— цели числа%f
— число с плаваща запетая%%
— процент (%)Същият механизъм работи може да работи и с речници
>>> "%(adjective)s %(noun)s" % {'adjective': 'Black',
'noun': 'Knight'}
Black Knight
>>> def word(adjective, noun):
... print "%(adjective)s %(noun)s" % vars()
>>> word('Black', 'Knight')
Black Knight
Преобразувания
>>> string = 'my Dead Parrot'
>>> string.capitalize() # Първата буква главна, другите малки
'My dead parrot'
>>> string.title() # Всички думи започват с главна буква
'My Dead Parrot'
>>> string.upper() # Прави всички букви главни
'MY DEAD PARROT'
>>> string.lower() # Прави всички букви малки
'my dead parrot'
# дава ни списък с отделните части на низа, разделени с аргумента на split
>>> string.split(' ')
['my', 'Dead', 'Parrot']
Премахване на символи отляво или отдясно.
>>> spam = " S P A M "
>>> spam.strip()
'S P A M'
>>> spam.lstrip()
По подразбиране премахва white-space, но може и да му се каже изрично низ със символи, които да премахне.
'S P A M '
>>> "He said:muuuuuuuuuu".rstrip('mu')
'He said:'
Търсене из низа
>>> message = "Be vewy vewy quiet. I'm hunting for wabbits!"
>>> string.startswith('Be') # Проверява дали string започва с 'my'
True
>>> string.endswith('bits!') # Проверява дали string завършва на 'bits!'
True
>>> message.find('vewy')
3
>>> message.index('vewy')
3
>>> message.rfind('vewy')
8
>>> message.rindex('vewy')
8
>>> message.replace('wabbits', 'Buggs Bunny')
"Be vewy vewy quiet. I'm hunting for Buggs Bunny!"