我尝试过的:
import import_ipynb
import time
class A:
def func1(self):
for i in range(0, 5):
print(i)
time.sleep(1)
class B:
print('Time is:', A().func1())
在class B
中,我想在class A
中获得print
的内容,并将'Time is:'
添加到开头并在控制台中打印。一种解决方案是在函数末尾将i
作为列表返回,但我希望i
是即时的,而不是在函数完全执行时。我编写的代码没有正确执行此操作
我想要的输出是:
Time is: 0
Time is: 1
Time is: 2
Time is: 3
Time is: 4
假设您不想只将print(i)
更改为print(f"Time is: {i}")
,您可以从函数中yield i
,然后在调用站点打印:
import time
def func1():
for i in range(0, 5):
yield i
time.sleep(1)
for i in func1():
print(f"Time is: {i}")
我去掉了这些课,因为它们都与问题没有直接关系。
CCD_ 10将CCD_。调用func1
返回一个生成器,该生成器根据需要生成值。
有两种方法可以做到这一点,一种是使其生成器成为致癌物展示,另一种是让您的功能更可定制
import time
def func1(sufix=""):
for i in range(5):
print(sufix,i)
time.sleep(1)
func1("Time is: ")