如何在函数内打印所有变量及其类型

时间:2018-03-12 17:15:28

标签: python function variables

我知道我可以使用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'>]

2 个答案:

答案 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)