gpt4 book ai didi

python - 在不运行函数的情况下获取python函数属性

转载 作者:行者123 更新时间:2023-11-28 19:39:04 25 4
gpt4 key购买 nike

我有一个 GUI,允许用户从特定的 *.py 文件运行任何功能。我希望某些功能以彼此不同的方式运行。为了做到这一点,我试图将属性附加到函数(简单的事情,比如它需要哪些输入)。但是,我发现获取这些属性的唯一方法是先运行代码。

有没有办法在不运行代码的情况下获取这些属性,或者可能有更 pythonic 的方法来处理这个任务?

我的代码的非常基本的例子:

文件A.py

def Beta(x):     
Beta.input_stype = "Float"
y = x + 0.5

return y

def Gamma(x):
Gamma.input_stype = "String"
y = x + "_blah_blah_blah"

return y

def Delta(x):
Delta.input_stype = "String"
y = x.index('WhereIsIt')

return y

文件B.py

import FileA
import inspect

z = inspect.getmembers(Fiddle2, inspect.isfunction)

#### User selects the code value here ####

x = user_selection

executable = z[x][1] # Pulls the executable code

if executable.input_stype == "Float" :
y = executable(45)
elif executable.input_stype == "String" :
y = executable('Testing_the_WhereIsIt_stuff')

最佳答案

不要在函数体内赋值:

def Beta(x):
y = x + 0.5
return y
Beta.input_stype = "Float"

当你这样做时,你可能想使用实际的 floatstr 类型而不是字符串 "Float"“字符串”。如果您使用的是 Python 3,您可能还想使用函数注释:

def Beta(x: float):
y = x + 0.5
return y

关于python - 在不运行函数的情况下获取python函数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37262374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com