Проблема компиляции программы на Python - PullRequest
0 голосов
/ 30 октября 2019

Процесс завершен с кодом завершения 0 ”в ходе запуска файла Python с JetBrains PyCharm Community Edition 2019.2.

Код:

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        print("A dog is created")
def sit(self):
            print(self.name + "has sitten")

        dog = Dog("Rex", 4)
        print(dog.name)

Ничего не компилируется, кроме« Процесс завершен скод выхода 0 ”, сгенерированный PyCharm. У меня установлен IntelliJ IDEA на том же ПК, и он работает нормально, поэтому я думаю, что это не проблема, связанная с блокировкой антивируса. Могли бы вы, пожалуйста, посоветовать? Заранее спасибо ?

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Классы Python ничего не делают, если вы их не создадите. В этом случае вы объявляете свой класс Dog с помощью метода __init__, который делает несколько вещей (включая печать), но это только объявление - экземпляр класса еще не создан, поэтому функция __init__ имеетеще не запущен.

Предполагая, что вы хотите, чтобы все работало в одном файле, я бы предложил добавить следующее в конец вашего файла:

if __name__ == '__main__':
    dog = Dog()

Это будетчтобы новый экземпляр класса Dog был создан при запуске сценария, вы должны увидеть вывод своих операторов печати на консоль.

Если ваш код имеет отступ, как показано в исходном вопросе, то проблема с отступом. В настоящее время почти весь код находится внутри класса Dog, а не на уровне файлов, поэтому он не будет работать при выполнении сценария, ваше форматирование должно выглядеть следующим образом:

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        print("A dog is created")

    def sit(self):
        print(self.name + "has sat")

dog = Dog("Rex", 4)
print(dog.name)
0 голосов
/ 30 октября 2019

Это проблема с отступами, как объяснил Даниил. Укажите соответствующий код:

класс Dog: def init (self, name, age): self.name = name self.age = age print ("Собака создана")

def sit(self):
    print(self.name + "has sat")

dog = Dog ("Rex", 4) print (dog.name) print (dog.age) enter code here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...