Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
方法在python中迭代另一个方法_Python_Methods_Generator - Fatal编程技术网

方法在python中迭代另一个方法

方法在python中迭代另一个方法,python,methods,generator,Python,Methods,Generator,我为度量做了一些编码,我有一个样本类,这个类中的每个方法都是一些实际的度量,比如 sample = Sample() sample.measure_ivc(*args) 现在我想对一组外部参数重复一个特定的测量,比如说,温度。理想情况下,它应该看起来像 sample.measure_ivc(*args).iterate_T(T_list) 或 我有许多不同的测量过程,因此我希望避免为每个过程定义measure\u ivc\u T()。 当然,我可以将度量方法名称及其参数传递给iterate\

我为度量做了一些编码,我有一个样本类,这个类中的每个方法都是一些实际的度量,比如

sample = Sample()
sample.measure_ivc(*args)
现在我想对一组外部参数重复一个特定的测量,比如说,温度。理想情况下,它应该看起来像

sample.measure_ivc(*args).iterate_T(T_list)

我有许多不同的测量过程,因此我希望避免为每个过程定义
measure\u ivc\u T()
。 当然,我可以将度量方法名称及其参数传递给
iterate\u method\u over\u T()
,但它看起来很混乱,尤其是
iterate\u T()
需要自己的参数时

到目前为止,我提出的最优雅的解决方案是

class Sample():

   def ivc(self, *args) :
       print(' meas ivc')

       return 

   def iterate_T(self, T_list):

       for t in T_list:
           print (f'set T to {t}')

        yield self
但它只能这样工作

sample = Sample()
[s.ivc(*args) for s in sample.iterate_T(T_list)]

它能更好/更接近我的要求吗?

我不清楚这里是如何涉及
T\u list
的是,对不起,我想在T\u list中迭代T,即调用measure\u ivc()每次我都不知道你想做什么。你能给我们看一个简单的
t\u列表
吗?你的预期结果是什么?
t\u列表
只是我想在每次
测量ivc
之前设置的温度值的列表。换句话说,我想定义一个方法,它迭代另一个方法,并在迭代之间执行smthg else。对于T\u列表中的T:set(T),measure\u Ivc(),它的
很简单,但我想知道是否有更整洁、更具python风格的东西
sample = Sample()
[s.ivc(*args) for s in sample.iterate_T(T_list)]