Рубрики
Без рубрики

Экзотические особенности Python3

Экзотические особенности Python3?. Tagged with Python, nim.

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 , давай, скажем Привет Анкет

Telegram en Español. 👑

Оригинал: “https://dev.to/juancarlospaco/exotic-features-of-python3-1492”