如何在定义新函数时调用if-else的结果

2024-04-26 09:39:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,虽然我在尽可能多地阅读Stackoverflow和手册,但是我找不到解决这个小问题的方法。在

我用if-else定义了一个函数,为每个条件给出了不同的结果。现在我想定义一个新函数,同样使用if-else,我可以在新函数中重用这些不同的结果作为条件。在

我认为将Function1的每个结果赋给局部变量会使后面的if-else条件下的每个结果更容易回忆起来,但我所做的似乎有问题。事情是这样的。在

def Function1(self, some_value):
    if some_value == self.__dict__:                     
      return self.name, some_value
    else:
         return obj.name, attr, some_value

#obj is some obj taken from a dict somewhere else

   first_condition = return self.name, some_value
   second_condition= return obj.name, attr, some_value

def Function2(self):
    if Function1.first_condition:
      print(self.name)
    elif Function1.second_condition:
      print(self.name, object.name)
    else:
        print('failed')

Tags: 函数nameselfobjreturnif定义value
2条回答

如果你想使用一个函数的结果,你必须先调用它。因此,在Function2中,您应该首先调用Function1,然后简单地检查它返回的结果数(返回的元组中的值的数量):

def Function2(self):
    k=len(Function1(self, "test"))
    if k==2: print(self.name)
    elif k==3: print("anything")
    else: printf("failed")

一定要删除first_condition和{}。在

如果这些函数是类的一部分,则可以创建一个称为self.res的变量,并将所需的数据存储在那里。在

^{pr2}$

然后在Function2中检查self.res变量。在

想想这两个“短语”是什么意思(断章取义)

功能1.第一个条件: 功能1.第二个条件:

这两个短语的形式表示一个状态,一个值(可能是一个整数),它指示这两个条件(第一个条件还是第二个条件)适用。在

对你的询问可能有许多解决办法。一个稍微过于简单的版本是建议使用一个尚未声明的整数来记住在Function1中选择了这两个条件中的哪一个。函数本身可以返回1或2,这取决于所做的决定,给您一个简单的“if decision==1:”的响应方式。在

我说这有点过于简单,但它经常被使用。在这种情况下,你可能会说,在两个可能的决定中,结果是不同的“类型”回报。类型在某些语言中比其他语言更为重要,但类型可以用于确定操作过程,就像使用整数一样,它是基于某种决策选择行为的更高级概念。如果python的使用还处于早期阶段,那么可以选择使用integer方法来确定所做的决定。在

相关问题 更多 >