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. Нет необходимости использовать тип. Он знает, о чем вы говорите!