一个函数调用接口A,A如何先返回一个信息,再继续执行后面的代码。
我觉得你的需求可以用生成器来实现
def myfunc():
yield 123
print("do something else")
gen = myfunc()
for item in gen:
print(item)
实际上,你还可以多次返回,比如在
print("do something else")
下面再加上 yield 456
特别注意输出的顺序,说明do sth else 是在中间执行的
在Python中,函数的执行是按照顺序逐行进行的。如果你想让函数在返回一个信息后继续执行后面的代码,可以使用多线程或异步编程的方式。
多线程方式:
使用Python的threading模块创建一个新的线程,让该线程执行函数调用接口A,而主线程可以在接收到信息后继续执行后面的代码。
import threading
# 定义函数调用接口A
def function_A():
# 执行一些操作
message = "信息" # 返回的信息
print("接口A返回信息:", message)
# 创建一个新的线程来执行函数调用接口A
thread = threading.Thread(target=function_A)
thread.start()
# 主线程可以在这里继续执行后面的代码
print("继续执行其他操作")
异步编程方式:
使用Python的asyncio模块进行异步编程,可以使用协程来实现函数调用接口A的异步执行,然后在接收到信息后继续执行后面的代码。
import asyncio
# 定义异步函数调用接口A
async def function_A():
# 执行一些操作
message = "信息" # 返回的信息
print("接口A返回信息:", message)
# 创建事件循环对象
loop = asyncio.get_event_loop()
# 在事件循环中运行异步函数调用接口A
loop.run_until_complete(function_A())
# 主线程可以在这里继续执行后面的代码
print("继续执行其他操作")
print( 0.1 + 0.2 == 0.3)
A. False (float类型,结果是近似值)
B. –1
C. 0
D. True (print(1+2==3))