Точка входа в программирование
20.3K subscribers
1.25K photos
217 videos
2 files
2.77K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Python vs C++: какой язык быстрее найдет все простые числа до миллиарда

Баттлы языков — извечная тема, которая никогда себя не изживет. Понятно, что язык программирования нужно выбирать под конкретные цели. Но если мы только учимся, можно попробовать решить какую-нибудь задачку с помощью двух разных инструментов — хотя бы для того чтобы понять, какой нравится больше.

Сегодня будем искать все простые числа до миллиарда с помощью кода на Python и C++. Если вы думаете, что результат совсем очевиден, то это не так. Подробности в статье: https://tprg.ru/IqbL

#python #cpp
❤‍🔥6👍2💊1
Что такое утиная типизация

Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.

В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.

Представьте, что у вас есть функция:

def заставить_крякать(объект):
объект.крякать()


Эта функция ожидает, что у объекта будет метод крякать(). Теперь создадим два класса:

class Утка:
def крякать(self):
print("Кря-кря!")

class Человек:
def крякать(self):
print("Эээ... Кря-кря?")


И используем их:

утка = Утка()
человек = Человек()

заставить_крякать(утка) # Вывод: Кря-кря!
заставить_крякать(человек) # Вывод: Эээ... Кря-кря?


Функция заставить_крякать работает и с Утка, и с Человек, потому что у обоих есть метод крякать(). Python не проверяет, утка это или человек, — ему важно только, что метод есть.

Такой подход дает нам гибкость и простоту при работе с кодом. С другой стороны поддерживать его становится сложнее, а следовательно, возрастает риск появления ошибок.

#простымисловами #python
👍4