Встроенные типы данных
Bool
Логический тип. Может принимать одно из двух значений:
0Ви
1В{…}. [По аналогии с алгеброй логики, в которой чаще используются {…} логический ноль и логическая единица, а не истина/ложь {…}.]
Int
Целочисленный тип (размерностью 32 или 64 разряда).
Для создания целого числа из строки пишите
Int(s).
Для создания целого числа из строки с заданным основанием системы счисления пишите
Int(s, radix' base).
Для создания целого числа из массива байт пишите
Int(bytes' b)для little-endian и
Int(bytes_be' b)для big-endian.
[Для обратной операции используйте метод
to_bytes().]
Int8
Int16
Int32
Int64 или Long
Знаковые целые.
Byte
UInt16
UInt32
UInt64 или ULong
Беззнаковые целые.
BigInt
Целочисленный тип на основе длинной арифметики.
Float\Вещ
Вещественный тип (размерностью 32 или 64 разряда).
Float32\Вещ32 или SFloat\ВещО [Вещественное одинарной точности]
Float64\Вещ64
Char
Символ.
Создать символ с кодом 65 можно так:
Char(code' 65)Создать символ из однозначного целого числа можно так:
Char(digit' i)Создать символ из односимвольной строки можно так:
Char(string' s)(Это отличается от
s[0]тем, что в случае когда длина строки
sбольше 1, бросается исключение.)
Создать символ из односимвольного строкового литерала можно так:
Char("\0")
String
Строка. Может быть сконструирована из строковых литералов. Для создания строки из целого числа с заданным основанием системы счисления пишите
String(i, radix' base).
Примечание: в отличие от Python строки в 11l являются изменяемыми (также как в C++).
Tuple
Кортеж. Например, кортеж из двух элементов:
(1, 2). [Тип такого кортежа —
(Int, Int)или
Tuple[Int, Int]или
IVec2.]
К элементам кортежей, состоящих из от 2-х до 4-х элементов одного арифметического типа, можно обращаться по
x,
y,
z,
wили
r,
g,
b,
a.
Арифметические операции (
+,
-,
*,
/) над кортежами выполняются покомпонентно {…}.
Примечание 1: также как и в mypy, кортежи в 11l могут содержать элементы различных типов, но массивы (аналог списков в Python) могут содержать элементы только одного типа.
Примечание 2: в отличие от Python кортежи в 11l являются изменяемыми (также как в C++).
Кортеж с именованными элементами:
(name' ‘John’, age' 30). [Тип такого кортежа —
(String name, Int age)или
Tuple[String name, Int age].]
Array
Массив. Например, массив из двух элементов:
[1, 2]. [Тип такого массива —
[Int]или
Array[Int].]
Dict
Словарь. Например, словарь из двух элементов:
[‘key1’ = 1, ‘key2’ = 2].
[Тип такого словаря —
[String = Int]или
Dict[String, Int].]
DefaultDict
Словарь, не бросающий исключение при обращении к несуществующему элементу, а вставляющий новый элемент со значением по умолчанию в таком случае.
Например, словарь DefaultDict из двух элементов:
DefaultDict([‘key1’ = 1, ‘key2’ = 2]).
[Тип такого словаря —
DefaultDict[String, Int].]
Set
Множество. Например, множество из двух элементов:
Set([1, 2]). [Тип такого множества —
Set[Int].]
Deque
Двухсторонняя очередь. Например, очередь из двух элементов:
Deque([1, 2]). [Тип такой очереди —
Deque[Int].]
File
Файл. Для открытия файла используйте конструктор:
File(name, encoding = ‘utf-8-sig’) открывает файл с именем
nameдля чтения.
File(name, WRITE, encoding = ‘utf-8’) открывает файл с именем
nameдля записи. {…}
File(name, APPEND, encoding = ‘utf-8’) открывает файл с именем
nameдля записи в конец файла.
Примечание 1: в 11l не нужно указывать тип файла (текстовый или двоичный) при открытии [мои мысли на тему режимов открытия файлов].
Примечание 2: только кодировки utf-8 и utf-8-sig [UTF-8 с меткой порядка байтов (BOM)] поддерживаются на данный момент.
[Документация по методам и членам встроенных типов доступна на данный момент только на английском.]