Стратегия обучения разработчиков Python#
C# и Python используют аналогичные понятия. Эти знакомые конструкции помогут вам узнать C#, когда вы уже знаете Python.
- Объектно-ориентированное: Python и C# — это объектно-ориентированные языки. Все понятия, связанные с классами в Python, применяются в C#, даже если синтаксис отличается.
- Кроссплатформенный: Python и C# являются кроссплатформенными языками. Приложения, написанные на любом языке, могут работать на многих платформах.
- Сборка мусора. Оба языка используют автоматическое управление памятью с помощью сборки мусора. Среда выполнения освобождает память от объектов, на которые не ссылается ссылка.
- Строго типизированные: Python и C# являются строго типизированными языками. Приведение типов не происходит неявно. Ниже описаны различия, так как C# статически типизированный, в то время как Python динамически типируется.
- Async / Await:
async
python и функция были непосредственно вдохновлены C#async
иawait
await
поддержкой. - Сопоставление шаблонов: сопоставление шаблонов и выражений Python
match
аналогично выражению сопоставленияswitch
шаблонов C#. Они используются для проверки сложного выражения данных, чтобы определить, соответствует ли он шаблону. - Ключевые слова инструкции: Python и C# используют множество ключевых слов, таких как
if
,else
,while
иfor
многие другие. Хотя не все синтаксисы одинаковы, есть достаточно сходства, которые можно прочитать на C#, если вы знаете Python.
При запуске обучения C#вы узнаете, что эти важные понятия отличаются от C# от Python:
- Отступы и маркеры: в Python новые линии и отступы являются элементами syntactic первого класса. В C#пробелы не важны. Маркеры, такие как
;
отдельные операторы, и другие маркеры{
и}
область блока управления дляif
и других операторов блоков. Однако для удобства чтения большинство стилей программирования (включая стиль, используемый в этих документах), используют отступ для укрепления областей блоков, объявленных{
и}
. - Статическая типизация: в C#объявление переменной включает его тип. Переназначение переменной объекту другого типа создает ошибку компилятора. В Python тип может измениться при переназначение.
- Типы, допускающие значение NULL: переменные C# могут иметь значение NULL или не допускающие значение NULL. Тип, не допускающий значение NULL, — это тип, который не может быть null (или ничего). Он всегда ссылается на допустимый объект. В отличие от этого, тип, допускающий значение NULL, может ссылаться на допустимый объект или null.
- LINQ: ключевые слова выражения запроса, составляющие интегрированный язык запросов (LINQ), не являются ключевыми словами в Python. Однако библиотеки Python, такие как
itertools
,more-itertools
иpy-linq
предоставляют аналогичные функциональные возможности. - Универсальные шаблоны: универсальные типы C# используют статический ввод C# для утверждения о аргументах, предоставленных для параметров типа. Универсальный алгоритм может потребоваться указать ограничения, которые должен удовлетворять тип аргумента.
Наконец, существуют некоторые функции Python, недоступные в C#:
- Структурная (утка) ввод: в C#типы имеют имена и объявления. Кроме кортежей, типы с той же структурой не взаимозаменяемы.
- REPL: C# не имеет цикл печати (REPL) для быстрого прототипа решений.
- Значительное пробелы: необходимо правильно использовать фигурные скобки
{
и}
заметить область блока.
Обучение C#, если вы знаете, Python является гладким путешествием. Языки имеют аналогичные понятия и аналогичные идиомы для использования.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.