我知道我可以使用locals()
或globals()
来获取Python脚本环境中使用的所有本地或全局变量,但Python是否有一个我只能用来调用的关键字函数内的变量?
例如:
def function():
a = 3;
b = 4;
c = float(b+a)
>> keyword(function())
>> [a : <class 'int'>, b : <class 'int'>, c : <class 'float'>]
答案 0 :(得分:3)
你在寻找这样的东西:
# define these outside the scope of the function
x = 10
y = 20
def function():
a = 3;
b = 4;
c = float(b+a)
l = locals()
print(", ".join(["{var}: {type}".format(var=v, type=type(l[v])) for v in l]))
function()
#a: <type 'int'>, c: <type 'float'>, b: <type 'int'>
答案 1 :(得分:0)
如果您可以更改功能,则可以返回值,然后检查其类型。如果您无法修改该功能,我认为您不能假设变量类型是什么。
def function():
a = 3
b = 4
c = float(a + b)
return a, b, c
x, y, z = function()
type(x), type(y), type(z)