Основные отличия

alextretyak

Administrator
Staff member
  1. Функция random.randrange(a, b), которая возвращает случайное число n в диапазоне a <= n < b, и функция random.randint(a, b), которая возвращает число в диапазоне a <= n <= b, были объединены в одну функцию, которая принимает один аргумент типа "диапазон" (а диапазон для a <= n <= b в 11l обозначается как a..b, а для a <= n < b как a.<b).
  2. Метод объекта регулярного выражения match() заменён на метод fullmatch() (другими словами, fullmatch() из Python соответствует match() в 11l).
  3. Функции re.split и re.sub вынесены из модуля re в перегруженные методы строк split и replace соответственно.
  4. Функция gettempdir() из модуля tempfile и некоторые функции из модуля os (listdir, walk, mkdir, makedirs, remove, rename и др.) перенесены в отдельный модуль fs; функции модуля os.path перенесены в fs:path.
  5. Вместо модуля heapq в 11l присутствуют два модуля: minheap (аналог heapq) и maxheap, не имеющий непосредственного аналога в Python.
  6. Функции bin и hex возвращают строку без префиксов 0b и 0x соответственно, т.к. чаще требуется именно строка без префикса (1, 2, 3, 4, 5, 6, 7, 8, 9).
  7. "\n".join(arr) в Python соответствует arr.join("\n") в 11l (при этом элементами arr в 11l могут быть не только строки, как в Python, а любые объекты, для которых определено преобразование в строку).
  8. map(lambda x: x * 2, filter(lambda x: x % 2 == 0, [1, 2, 3, 4])) в Python соответствует [1, 2, 3, 4].filter(x -> x % 2 == 0).map(x -> x * 2) в 11l.
 
Last edited:
Top