Литерал мнимой части задается добавлением j в качестве суффикса (перемножаются мнимые единицы):
>>> -1j * -1j
(-1-0j)
Тип реализован на базе вещественного. Кроме арифметических операций, можно использовать операции из модуля cmath.
Тип bool
Подтип целочисленного типа для "канонического" обозначения логических величин. Два значения: True (истина) и False (ложь) - вот и все, что принадлежит этому типу. Как уже говорилось, любой объект Python имеет истинностное значение, логические операции можно проиллюстрировать с помощью логического типа:
>>> for i in (False, True): ... for j in (False, True):
... print i, j, ":", i and j, i or j, not i
...
...
False False : False False True
False True : False True True
True False : False True False True True : True True False
Следует отметить, что Python даже не вычисляет второй операнд операции and или or, если ее исход ясен по первому операнду. Таким образом, если первый операнд истинен, он и возвращается как результат or, в противном случае возвращается второй операнд. Для операции and все аналогично.
В Python строки бывают двух типов: обычные и Unicode-строки. Фактически строка - это последовательность символов (в случае обычных строк можно сказать "последовательность байтов"). Строки-константы можно задать в программе с помощью строковых литералов. Для литералов наравне используются как апострофы ( ' ), так и обычные двойные кавычки ( " ). Для многострочных литералов можно использовать утроенные апострофы или утроенные кавычки. Управляющие последовательности внутри строковых литералов задаются обратной косой чертой ( \ ). Примеры написания строковых литералов:
s1 = "строка1"
s2 = 'строка2\nс переводом строки внутри' s3 = """строка3 с переводом строки внутри"""
u1 = u'\u043f\u0440\u0438\u0432\u0435\u0442' # привет u2 = u'Еще пример' # не забудьте про coding!
Для строк имеется еще одна разновидность: необработанные строковые литералы. В этих литералах обратная косая черта и следующие за ней символы не интерпретируются как спецсимволы, а вставляются в строку "как есть":
my_re = r"(\d)=\1"
Обычно такие строки требуются для записи регулярных выражений (о них пойдет речь в лекции, посвященной обработке текстовой информации).
Набор операций над строками включает конкатенацию " + ", повтор " * ", форматирование " % ". Также строки имеют большое количество методов, некоторые из которых приведены ниже. Полный набор методов (и их необязательных аргументов) можно получить в документации по Python.
>>> "A" + "B"
'AB'
>>> "A"*10
'AAAAAAAAAA'
>>> "%s %i" % ("abc", 12)
'abc 12'
Некоторые методы строковых объектов будут рассмотрены в лекции, посвященной обработке текстов.