The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Утверждено добавление в Python операторов для сопоставления с образцом"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "Суки херят Python!!!" –1 +/
Сообщение от Аноним (160), 10-Фев-21, 10:38 
У каждого языка свой стиль, Python имеет свои особенности, это очень компактный язык с причесаным ПОНЯТНЫМ, ПРОСТЫМ кодом и развитыми типами.

Ниже приведу 3 примера одного и того же кода:

1. Правильная, очень быстрая, простая и компактная, реализация на языке Python:


HTTP_CODES = {
    400: "Bad request",
    401: "Not allowed",
    403: "Not allowed",
    404: "Not allowed",
    418: "I'm a teapot"
}

# Просто вместо функции выбераем значение с словаря: HTTP_CODES.get(status, "Something else")
print(HTTP_CODES.get(status, "Something else"))

# Функции не надо вызывать, это не правильно и тормозит
def http_error(status):
    return HTTP_CODES.get(status, "Something else")


Кто здесь посмел сказать, что Python тормозной? Меряемся скоростью с asm, C, C++ !

2. Неправильная, медленная и долгая, реализация на языке Python. Рекомендуется для обучения детей:


def http_error(status):
    if status == 400:
        return "Bad request"
    elif status is in  (401, 403, 404):
        return "Not allowed"
    elif status == 418:
        return "I'm a teapot"
    else:
        return "Something else"

3. Предлагаемая, медленная, запутанная и раздутая, реализация на языке Python. Эта реализация коробит простой, понятный язык:


def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 401|403|404:
            return "Not allowed"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something else"

Синтаксис языка очень важен. Ключевым элементом есть операторы ветвления (и цикла). Смени операторы ветвления и получишь совсем другой язык!

Python надо сообществу форкать!!!

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Утверждено добавление в Python операторов для сопоставления с образцом, opennews, 09-Фев-21, 21:22  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру