我正在用python创建几个实验,并具有各种函数,这些函数将在这些实验中常见。因此,我想创建一个只包含这些函数的脚本,我可以在实验脚本的开始导入这些函数,以避免一半的脚本被"通用设置行"占用。
到目前为止,我已经创建了函数和脚本,并且可以导入和使用它们。例如,在下面,我有一个函数,它显示一个空白屏幕,它需要我想要的持续时间(例如,4秒),并显示在实验脚本中定义的窗口上。import functions
win = visual.Window([1440,900], color=[-1,-1,-1], fullscr=True)
dur = 4
functions.blank_screen(duration=dur)
这一切都很好,但在包含函数的脚本中,有几个'错误'函数使用变量'win',这在函数中没有定义:
def blank_screen(duration):
blank = TextStim(win, text='')
blank.draw()
win.flip()
但是当我运行实验脚本时,正如脚本中定义的那样,它都可以工作。我怎么才能避开这个问题呢?我有几个函数的这个问题,因为绝大多数使用在实验脚本中定义的变量,而不是在函数中。正如我所说的,这一切都是有效的,但只是让我恼火的是,脚本被"错误"所覆盖!
我将非常感激任何帮助,谢谢!您可以将您想要清空的win
作为blank_screen
函数的参数传递:
import functions
win = visual.Window([1440,900], color=[-1,-1,-1], fullscr=True)
dur = 4
functions.blank_screen(duration=dur, win=win)
和
def blank_screen(duration, win):
blank = TextStim(win, text='')
blank.draw()
win.flip()