如何在python的if语句中调用返回值为的函数

如何在python的if语句中调用返回值为的函数,python,Python,我有两个函数,其中一个包含return语句。我的议程是当第一个函数在if条件下执行时,编译器抛出语法错误 这是我的剧本 def hi(): return 10,20 def hello(a): if a: print "asd" if a,b=hi() : hello(a) 在if条件中,错误在“=”处抛出。 如何解决这个问题。或者有没有其他方法可以在一行中执行此操作?在语句中不能有任意表达式。如果语句中只能使用类似布尔值的值(可以解释为真/假的值) 所以你需要这样做 de

我有两个函数,其中一个包含return语句。我的议程是当第一个函数在if条件下执行时,编译器抛出语法错误

这是我的剧本

def hi():
  return 10,20

def hello(a):
  if a:
    print "asd"

if a,b=hi() : hello(a)
在if条件中,错误在“=”处抛出。
如何解决这个问题。或者有没有其他方法可以在一行中执行此操作?

语句中不能有任意表达式。如果
语句中只能使用类似布尔值的值(可以解释为真/假的值)

所以你需要这样做

def hi():
返回10,20
你好(a):
如果是:
打印“asd”
a、 b=高()
如果是:
你好(a)

您需要创建a和b的元组,然后可以使用==

用这个,

if(a,b)=hi():hello(a)
以下是打印asd的完整代码

def hi():
返回10,20
你好(a):
如果是:
打印“asd”
a、 b=10,20
如果(a,b)=hi():你好(a)

使用
=
进行值赋值,但使用
=
进行值比较。每个函数都有返回类型的a和b通知是什么。即使函数中没有
return
,它在幕后也有
returnnone
(或者只是
return
)。问题底部的“this”的含义不清楚。你到底想做什么?可能是重复的,但是如果函数
hi()
中的返回值是动态的呢?那么我应该使用全局元组来获得动态值吗?我认为你不需要全局元组。如果
hi()
函数中的返回值是,比如说
返回x,y
,其中x和y是可以在前面设置的变量,则If条件将简单地检查实际值元组,如果它们相等或不相等。例如,如果
a,b=10,20
x,y=5,10
,那么您的if将计算为
if(10,20)==(5,10)
,这将为false,并且不会执行
hello(a)