@pangmie

Почему в Python можно не описывать поля классов, а в C# обязательно?

Вот я создаю экземпляр класса acac=Automobile(), неважно какого класса. Почему в Python, в отличие от того же Cs, я могу написать acac.bgg=77, и потом вывести acac.bgg, и Python не выдаст ошибку, учитывая то, что bgg я нигде не создавал, а придумал просто так?60b1e1aa1de1e358621396.jpeg
Почему в Python можно не описывать поля классов, а в C# обязательно?
  • Вопрос задан
  • 166 просмотров
Решения вопроса 1
AVollane
@AVollane
Начинающий C# разработчик
Здравствуйте. Это всё из-за того, что Python является языком с динамической типизацией, а C# - язык со строгой типизацией, что помогает избежать дополнительных расходов на память. За счёт этого Python более простой, но C# безопаснее и быстрее. В общем, в C# всё должно быть определено заранее, без каких-либо сюрпризов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka Куратор тега C#
Токсичный шарпист
В C# используется статическая типизация, а в python динамическая.
А ещё в питоне все объекты являются словарями, а в C# обращение к полям класса происходит по заранее известным смещениям, относительно указателя
Ответ написан
Комментировать
@Andy_U
Ох, не надо так делать. Утилита mypy на такое ругается. PyCharm будет - пошел issue создавать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы