Вызов функции Python внутри функции - PullRequest
0 голосов
/ 08 ноября 2019

Наличие очень простой, чтобы исправить (я думаю, по крайней мере) проблему с вызовом функций из другой функции. Вот код:

class File_Modification:

    def Start_Up():
        x = 0
        if x == 0:

        print('Options: \n 1. Create New File \n 2. Open Existing File \n 3. Modify Existing File \n 4. Verify File')

        Op_Ans = input()

        if Op_Ans == '1':
            Create_File()
            x = 1

        elif Op_Ans == '2':
            Open_File()
            x = 1

        elif Op_Ans == '3':
            print('Option Three')
            x = 1

        elif Op_Ans == '4':
            print('Option Four')
            x = 1
    Start_Up()
    def Create_File():
        print('Create File Menu')

    def Open_File():
        print('Open File Menu')

    def Modify_File():
        print('Modify File Menu')

    def Verify_File():
        print('Verify File Menu')

Код предназначен для того, чтобы открыть меню, попросить пользователя ввести параметр, а затем перейти к настройке, чтобы изменить или создать информацию. Из функции запуска (вызываемой после того, как она была написана) следующая функция, т. Е. Create_File (), выдает ошибку, что функция не распознается.

Кто-нибудь получил какие-либо решения этой ошибки? Еще не удалось найти решения этой проблемы.

Это ошибка, которую я получаю:

Трассировка (последний последний вызов):

Файл "C: \ Users \ explo \ Downloads \ Modify Bulk Files.py", строка 1, в классе File_Modification:

Файл" C: \ Users \ explo \ Downloads \ Modify Bulk Files.py ", строка 26, в File_Modification

Start_Up()

Файл" C: \ Users \ explo \ Downloads \ Modify Bulk Files.py ", строка 12, в Start_Up Create_File ()

NameError: имя 'Create_File' не определено

Спасибо всем!

РЕДАКТИРОВАТЬ:

Я заставил программу работать, убрав класс и используя только функции. Наименование всех функций перед вызовом StartUp (). Это означает, что все создано ранее.

Спасибо всем за ваше время. Если есть какой-либо способ исправить это, обратите внимание на это для дальнейшего использования. иначе есть мое исправление.

РЕДАКТИРОВАТЬ 2: Добавлена ​​ошибка, которая идет с ним и исправил отступы в коде.

1 Ответ

0 голосов
/ 09 ноября 2019

Они в классе, поэтому просто называйте их как self.FunctionName ()

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