【问题标题】:Python Function Calling Within a Function函数内的 Python 函数调用
【发布时间】:2019-11-08 20:56:39
【问题描述】:

从另一个函数中调用函数有一个非常容易解决(我猜至少)的问题。 代码如下:

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() 会给出一个错误,即无法识别该函数。

有人对此错误有任何解决方案吗?还没有找到任何解决方案。

这是我得到的错误:

Traceback(最近一次调用最后一次):

文件“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 创建文件()

NameError:名称“Create_File”未定义

谢谢大家!

编辑:

我通过取出课程并仅使用函数来使程序正常工作。在 StartUp() 调用之前命名所有函数。这意味着它都是事先创建的。

感谢大家的宝贵时间。如果有任何解决此问题的方法,请注意它以供将来参考。否则,这是我的解决方案。

编辑 2:添加了随之而来的错误并更正了代码上的缩进。

【问题讨论】:

  • 你能修正你的缩进吗?现在很难分辨课堂上有什么和没有什么。
  • 另外,请添加您遇到的确切错误。

标签: python-3.x function


【解决方案1】:

它们在一个类中,所以只需将它们称为 self.FunctionName()

【讨论】:

  • 仍然会出现同样的错误,只是 self 不确定。刚刚找到了一个解决方法,那就是完全取消类并在 StartUp() 调用之前编写所有函数。感谢朋友的帮助!
  • 很好,这就是我要建议的,但后来我看到你在课堂上有它。
猜你喜欢
  • 1970-01-01
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
  • 2017-05-08
相关资源
最近更新 更多