我需要对硬件设计进行Python模拟。设计中有寄存器(即一些数据在时钟之间存储)
在MATLAB中,我只声明持久变量,它将在函数调用之间存储数据(刷新非持久变量)
经过一些搜索和浏览之后,我找到了使用生成器和类的选项,但这两个选项似乎都有点麻烦
我的问题是:
有没有一种简单的方法来声明函数中的一些变量,让它们在调用该函数之间存储数据?类似于以下伪代码:
myfunc(some inputs)
declare persistent aa,bb,cc
if running_first_time:
aa,bb,cc = 0
xx,yy = 0
else:
<do some logical and algebraic stuff with inputs and
aa,bb,cc store some results in aa,bb,cc until the
next function call, calculate xx and yy outputs>
return xx,yy
肾盂途径是一个闭合。在Python中,您定义一个外部函数来初始化持久变量,定义一个内部函数并返回它。然后,内部函数可以使用持久变量:
用法:
以下是如何使用生成器实现此功能:
您将使用的方式如下:
生成器,尤其是那些使用
.send
的生成器,需要花一些时间来适应,但功能非常强大相关问题 更多 >
编程相关推荐