import sys, math assert False ** False == 1 assert False == False in [False] assert type(1 ** 1) != type(1 ** -1) # print(f"""{ "yep\nope" }""") # ERROR? assert round(0.5) == 0.0 assert round(1.5) == 2.0 assert round(2.5) == 2.0 y = (1 << 53) + 1 assert y + 1.0 < y o = [] for i in range(99999): o.append(False) assert sys.getsizeof(o) == 824456 or sys.getsizeof(o) == 824472 assert sys.getsizeof(False) == 24 x = [] x.append(x) assert x[0][0][0][0][0][0][0][0][0][0][0] == x assert x[-1][-1][-1][-1][-1][-1][-1][-1] == x #anon = lambda x: ERROR? # if x > 0: # return 1 # else: # return 0
import math, strformat assert not compiles(false ^ false == 1) assert not(false == false in [false]) assert type(1 ^ 1) is type(1 ^ -1) echo fmt"""{ "yep\nope" }""" assert round(0.5) == 1.0 assert round(1.5) == 2.0 assert round(2.5) == 3.0 var y = (1 shl 53) + 1 assert not compiles(y + 1.0 < y) var o: seq[bool] for i in 0..99999: o.add false assert sizeOf(o) == 8 assert sizeOf(false) == 1 var x: seq[int] x.add(x) assert not compiles(x[0][0][0][0][0][0][0][0][0][0][0] == x) assert not compiles(x[^1][^1][^1][^1][^1][^1][^1][^1] == x) var anon = (func (x: int): int = if x > 0: return 1 else: return 0 )
Некоторые случайные странные “Экзотические функции” найдено в дикой природе.
Код здесь сводится к минимальному, который все еще воспроизводит ошибку, но иногда найти ее на крупных кодовых базах нелегко.
Примеры используют Python 3.8
и Nim 1.4
, Потому что я мигрировал исходный код с Python на Nim Анкет
Nim можно использовать для питона , альтернатива цинтону, но с Больше питонического синтаксиса и больше функций.
NIM встроенные функции:
- Напишите просто как Python, быстро бегает как ржавчина.
- Бежит на бэкэнд и фронта.
- Нет, нет, нет виртуальной машины.
- Автоматическое детерминированное управление памятью без коллекционера мусора.
- Сильная предполагаемая статическая набор, не требуется намеков.
- Завершите онлайн -документацию HTML с поиском.
- Нет зависимостей, нет необходимости настроить виртуальную среду.
- Бесплатные функции побочных эффектов.
- Многострочные многоэкспрессии быстрых анонимных функций.
- Функции стрелы.
- Неизменность.
- UFCS Анкет
- Генератор документации с комментариями Markdown/RST DOC.
- UNIT TESTS RUNNER, встроенные примерные примеры модульных тестов.
- Менеджер пакетов.
- Форматер стиля кода.
- App Installer Generator.
- «Импорт» C/C ++/JavaScript Libraries.
- Бежит на Arduino и Raspberry Pi.
- Доказательство двигателя с предварительным кондиционированием и пост -кондиционированиями (ADA Like).
- Крошечные местные двоичные файлы, быстрая компиляция.
- Легко учиться для разработчиков Python/Ruby/D/Go.
- Не слишком многословный, похожий на Python на сложности.
Там близость Друттер В Матрица , Телеграмма , IRC , Раздор для Nim , давай, скажем Привет Анкет
Оригинал: “https://dev.to/juancarlospaco/exotic-features-of-python3-1492”