当前位置: 首页 > 面试题库 >

您如何让Python写下它在内存中的函数的代码?

全宪
2023-03-14
问题内容

当我在程序中传递选项时(计算生物学实验),我通常通过.py文件传递它们。
所以我有这个.py文件,内容如下:

starting_length=9
starting_cell_size=1000
LengthofExperiments=5000000

然后,我执行文件并获取数据。由于该程序全部在我的计算机上,并且没有其他人可以访问它,因此它以微不足道的方式是安全的。
我也可以很容易地编写类似的文件:

def writeoptions(directory):
    options=""
    options+="starting_length=%s%s"%(starting_length,os.linesep)
    options+="starting_cell_size=%s%s"%(starting_cell_size,os.linesep)
    options+="LengthofExperiments=%s%s"%(LengthofExperiments,os.linesep)
...
    open("%s%soptions.py"%(directory,os.sep),'w').write(options)

我想将一个函数作为参数之一传递:

starting_length=9
starting_cell_size=1000
LengthofExperiments=5000000

def pippo(a,b):
    return a+b
functionoperator=pippo

当然,在实际实验中,功能pippo会更加复杂。并且因实验而异。

但是我无法做的是自动编写函数。简而言之,如果选项之一是函数,我不知道如何概括writeoptions函数以继续编写选项。我当然可以复制原始文件,但是它不雅致,效率低下(因为它包含许多未被使用的额外选项),并且通常无法解决问题。

当它写下变量的值时,如何让python写下函数的代码?


问题答案:
vinko @ mithril $更多a.py

def foo(a):
  打印一个

vinko @ mithril $更多b.py

导入一个
进口检验

a.foo(89)
打印inspect.getsource(a.foo)

vinko @ mithril $ python b.py
89
def foo(a):
  打印一个


 类似资料:
  • 问题内容: 当我探索问题的解决方案Python Use User Defined String Class时 ,我遇到了这种奇怪的python行为。 输出: 覆盖过去! 现在,如何才能恢复python解释器中的原始行为? 问题答案: 只需删除覆盖: 这将从字典中删除该名称,从而使搜索回落到内置函数。 您也始终可以通过模块直接引用内置函数: 在Python 3中,该模块已重命名为。

  • 本文向大家介绍如何在Python中编写递归函数?,包括了如何在Python中编写递归函数?的使用技巧和注意事项,需要的朋友参考一下 一个递归 函数是它的执行过程中调用自身的函数。这使函数可以重复多次,输出结果和每次迭代的结束。递归与无限有关。  下面是一个递归函数示例,用于查找整数的阶乘。 数字的阶乘 是从1到该数字的所有整数的乘积。  例如,阶乘9(表示为9!)为1 * 2 * 3 * 4 *

  • 我知道如何通过将两个函数作为输入并输出其合成函数来合成两个函数,但如何返回合成函数f(f(…f(x))?谢谢

  • 在额外收入部分,我想给添加某种值m,但是我不知道如何做。

  • 场景: 这段代码不起作用,而且我找不到一种方法来调用一个像继承的那样的特性函数。我尝试调用、、、以及以下命令: 什么都不起作用。 是否有方法使其工作,或者我必须完全重写比这复杂得多的trait函数:)

  • 问题内容: 因此,在相当庞大的项目中,您会得到一些遗留代码。您如何找到和删除无效功能? 我已经看到了这两个参考:查找未使用的代码和用于在php项目中查找未使用的函数的工具,但它们似乎分别特定于C#和PHP。 是否有Python工具可帮助您找到源代码中其他地方未引用的函数(尽管有反射/等)? 问题答案: 在Python中,您可以使用动态或静态代码分析器查找未使用的代码。动态分析器的两个示例是和。它们