Не совсем уверен, стоит ли здесь спрашивать об этом, но поехали.
Недавно я изучил основы ООП в Python, чтобы помочь с проектом. Я перешел на C# как своего рода расширение, чтобы создавать игры с Unity.
Мне просто интересно, был ли основной метод в С# таким же, как метод __init__ в питоне?






Идиома if __name__ == "__main__": соответствует методу public static Main().
Метод def __init__(self): соответствует конструктору класса в C#.
class X
{
public X() { } // constructor in C#: same name as the class and no return type
}
__init__ метод используется во время определения класса, обычно сохраняя все предопределенные переменные класса, например:
class Basket:
def __init__(size, material, color):
self.size = size
self.material = material
self.color = color
затем, когда вы создаете экземпляр класса Basket и передаете позиционные аргументы, метод __init__ использует их для создания объекта:
basket = Basket(20, 'rubber', 'brown')
то мы можем вызвать аргументы экземпляра basket, например:
print(basket.size, basket.material)
Выход:
20, brown
Это метод конструктора