Python vs C++: какой язык быстрее найдет все простые числа до миллиарда
Баттлы языков — извечная тема, которая никогда себя не изживет. Понятно, что язык программирования нужно выбирать под конкретные цели. Но если мы только учимся, можно попробовать решить какую-нибудь задачку с помощью двух разных инструментов — хотя бы для того чтобы понять, какой нравится больше.
Сегодня будем искать все простые числа до миллиарда с помощью кода на Python и C++. Если вы думаете, что результат совсем очевиден, то это не так. Подробности в статье: https://tprg.ru/IqbL
#python #cpp
Баттлы языков — извечная тема, которая никогда себя не изживет. Понятно, что язык программирования нужно выбирать под конкретные цели. Но если мы только учимся, можно попробовать решить какую-нибудь задачку с помощью двух разных инструментов — хотя бы для того чтобы понять, какой нравится больше.
Сегодня будем искать все простые числа до миллиарда с помощью кода на Python и C++. Если вы думаете, что результат совсем очевиден, то это не так. Подробности в статье: https://tprg.ru/IqbL
#python #cpp
❤🔥6👍2💊1
Что такое утиная типизация
Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.
В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.
Представьте, что у вас есть функция:
Эта функция ожидает, что у объекта будет метод
И используем их:
Функция
Такой подход дает нам гибкость и простоту при работе с кодом. С другой стороны поддерживать его становится сложнее, а следовательно, возрастает риск появления ошибок.
#простымисловами #python
Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.
В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.
Представьте, что у вас есть функция:
def заставить_крякать(объект):
объект.крякать()
Эта функция ожидает, что у объекта будет метод
крякать()
. Теперь создадим два класса:class Утка:
def крякать(self):
print("Кря-кря!")
class Человек:
def крякать(self):
print("Эээ... Кря-кря?")
И используем их:
утка = Утка()
человек = Человек()
заставить_крякать(утка) # Вывод: Кря-кря!
заставить_крякать(человек) # Вывод: Эээ... Кря-кря?
Функция
заставить_крякать
работает и с Утка
, и с Человек
, потому что у обоих есть метод крякать()
. Python не проверяет, утка это или человек, — ему важно только, что метод есть.Такой подход дает нам гибкость и простоту при работе с кодом. С другой стороны поддерживать его становится сложнее, а следовательно, возрастает риск появления ошибок.
#простымисловами #python
👍4