【问题标题】:what is the need to use return 1 or -1 in the end of a function? [closed]在函数末尾使用 return 1 或 -1 有什么必要? [关闭]
【发布时间】:2020-11-18 07:10:42
【问题描述】:

我遇到了很多python项目的例子,其中一些程序在方法或函数的末尾使用return 1或return -1..我不知道为什么?使用它的目的是什么.. 我什至不知道为什么使用 return 以及何时使用它.. 我对此感到非常困惑.. 请有人可以用适当的解释来解释.. 或提供链接或我可以从中学习的东西.. 这是我遇到的一个例子:-

    def add_user(self, email, password, name):
        if email.strip() not in self.users:
            self.users[email.strip()] = (password.strip(), name.strip(), get_date())
            self.save()
            return 1
        else:
            print("Email exists already")
            return -1

【问题讨论】:

  • 看来函数使用 1 作为成功返回值,使用 -1 作为错误返回值。这样的事情真的应该记录在一个文档字符串中。
  • Python一般没有这个要求。这个问题是建立在一个错误的前提之上的。

标签: python python-3.x return


【解决方案1】:

在这种情况下,似乎 1 和 -1 只是函数表示它如何完成的方式,对调试很有用。

【讨论】:

    【解决方案2】:

    函数中的return 是您稍后在代码中调用该函数时查看该函数结果的一种方式。

    例如:

    def func(number):
        if number % 2 == 0:
            return 1
        else:
            return -1
    
    def func2(value):
        if value == 1:
            print('The provided number is even')
        elif value == -1:
            print('The provided number is odd')
    
    value = func(6)
    func2(value)
    

    【讨论】:

      【解决方案3】:

      我无法准确评论为什么返回值必须是 1 或 -1(因为我不是您的代码库),但是调用 add_user 的任何东西都可能需要这些值。

      【讨论】:

        【解决方案4】:

        通常,return 语句用于将值返回给函数的调用者。例如,在您的代码中:如果 if 条件签出,则 return 1,如果条件不满足,则 return -1。函数add_user() 的调用者可能希望根据是否添加用户来执行操作,因此返回 1 或 -1 是程序员可以处理下一个逻辑的一种方式。大多数人出于调试目的返回 1 或 -1,然后让它驱动下一个逻辑。

        return 语句也可用于终止函数。因此,如果 return 1 是您示例中函数的第一行。编译器不会查看 if 语句。

        【讨论】:

          猜你喜欢
          • 2015-11-04
          • 1970-01-01
          • 2023-03-15
          • 2019-10-14
          • 2012-12-18
          • 2017-06-11
          • 2015-09-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多