2016-02-25 2 views
1

Я пишу простую программу Python с некоторыми функциями, одна из которых является функцией main(), выполняет другие функции. Однако, когда я запускаю код ниже, нет выхода. Может ли кто-нибудь сказать мне, если они видят ошибку в структуре?Основная функция Python не работает

def print1(): 
    print("this is also a function") 
def print2(): 
    print("this is a function") 

def main(): 
    print1() 
    print2() 
+1

Где вы звоните - главный? – idjaw

+1

Исходя из C++? – Ananth

ответ

4

Необходимо позвонить по номеру main(). Сейчас это просто определение. Какая польза от записи в словаре, если никто не использует слово?

def print1(): 
    print("this is also a function") 
def print2(): 
    print("this is a function") 

def main(): 
    print1() 
    print2() 

main() 

Обычно в программах Python все делается по-разному в зависимости от того, импортируется или запускается файл. Когда файл выполняется, переменная __name__ устанавливается либо на '__main__', либо на имя файла. Он установлен в '__main__', если файл выполняется как скрипт python, и он устанавливается на имя файла, если он импортируется. Вы можете использовать эту информацию, так что вы на самом деле не запускать что-либо, если он просто импортируется вместо того, чтобы работать как питон скрипт:

if __name__ == '__main__': 
    main() 

Таким образом, вы можете импортировать модуль и использовать функции без main() называется. Однако, если он запущен как скрипт python, main()будет вызываться.

1

Для этого вам необходимо позвонить по номеру main().

1

Добавьте это в нижнюю часть кода.

if __name__ == "__main__": 
    main() 

См https://docs.python.org/2/library/main.html

Main должен быть вызван явно. Вы можете сделать это без инструкции if, но это позволяет вашему коду быть либо модулем, либо основной программой. Если он импортируется как модуль, main() не будет вызываться. Если это основная программа, она будет вызвана.

Вы думаете, как программист на C. В этом случае python больше похож на сценарий оболочки. Будет выполнено все, что не входит в определение функции или класса.

1

Я считаю, что вы имеете в виду, чтобы делать это

def print1(): 
    print("this is also a function") 
def print2(): 
    print("this is a function") 

if __name__ == '__main__': 
    print1() 
    print2() 

Вызов этот сценарий something.py, а затем запустить python something.py из командной строки.

Смежные вопросы