Python и C #: сравнение
И Python, и C # - полезные языки для решения конкретных задач, и они должны использоваться в обозримом будущем. Если вы похожи на меня, вы выучили много языков, прежде чем изучать Python. Чаще всего я использовал язык C #, и это была стена, на которую я мог опираться, но как он соотносится со старым Python?
Ознакомьтесь с некоторыми проектами, выполненными как на C #, так и на Python, на моем сайте.
Первое, на что мы должны обратить внимание, - это работа с двумя языками. C # и Python являются объектно-ориентированными языками, которые представляют собой модель, в которой программы организованы вокруг данных или объектов, а не функций и логики. Объект можно определить как поле данных, которое имеет уникальные атрибуты и поведение. C # полностью объектно-ориентирован, а Python можно использовать для написания процедурного кода. C # - это статически скомпилированный код, что означает, что C # превосходит такие вещи, как игровые движки, но Python является лидером по времени разработки.
Затем нам нужно взглянуть на состав языков. Python зависит от пробелов и набирается правильно. Ошибки очень общие и не придают большого значения. Из-за этого поиск ошибок иногда может быть сложным и трудоемким. C # больше полагается на знаки препинания при указании компилятору, что делать. Давайте посмотрим на несколько примеров:
ПИТОН
a = 3 b = 'this is a string' c = 4.564352 def function_name(x, y, z=None): if z == None: return x + y else: return (x + y) - z
C#
int a = 3; string b = 'this is a string'; float c = 4.564352f; float FunctionName(float x, float y, float z = 0) { if(z == 0) { return x + y; } else { return (x + y) - z; }
Одно из основных отличий, которое вы сразу заметите, - это форматирование. Чтобы Python понимал, о чем вы говорите, у вас должен быть идеальный отступ. Если пробелы отключены, ваш код не запустится. Python не заботится о том, какие параметры вы передаете в функцию, пока она работает. C #, с другой стороны, заботится только о пунктуации. В функцию можно передавать ТОЛЬКО переменные с плавающей запятой. Да, вы можете использовать термин var
, чтобы использовать все, что хотите, но это немного замедляет время выполнения.
Еще огромное отличие - это соглашение об именах. В C # именование выглядит следующим образом: type ›name = yourvariable. (Опять же, вы можете передать var
, но это немного замедляет время выполнения). Соглашение об именах Python: name = yourvariable. Нет необходимости использовать тип. Он знает, о чем вы говорите!