如何获取在类的方法中定义的所有变量的名称

g

我有以下课程:

class Foo(object):
    def setUp(self):
        self.var1 = "some value"
        self.var2 = something
    def bar(self):
        var3 = some value
    def baz(self, var):
        var4 = some value

我想打印方法内部定义的所有变量的名称,例如:

setUp, bar, baz, var1, var2, var3, var4

我尝试使用,locals(), vars(), globals()但是我只得到方法的名称,而不是变量名。

我也尝试使用ast模块,但没有成功。

记事本
class Foo(object):
    def setUp(self):
        self.var1 = "some value"
        self.var2 = "something"
    def bar(self):
        var3 = "some value"
    def baz(self, var):
        var5 = 34


print Foo.setUp.__code__.co_varnames
print Foo.bar.__code__.co_varnames
print Foo.baz.__code__.co_varnames
Output:
('self',)
('self', 'var3')
('self', 'var', 'var5')




 #There are many more things in __code__ dict:
   # '__class__', '__cmp__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'co_argcount', 'co_cellvars', 'co_code', 'co_consts', 'co_filename', 'co_firstlineno', 'co_flags', 'co_freevars', 'co_lnotab', 'co_name', 'co_names', 'co_nlocals', 'co_stacksize', 'co_varnames']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取当前名称范围中的所有类,变量,函数名称?

如何在Python中获取类的类方法的所有名称

如何仅在类中获取所有属性名称

如何获取类中变量的所有值?

从python目录中获取所有模块名称,类名称和方法名称

如何使用Groovy获取没有继承方法的类的所有方法名称?

C#如何从子类中读取父类和子类所有变量的名称

从 C# 中的类中获取所有属性名称

如何在Redshift中获取给定架构中的所有过程名称和定义?

通过类中特定对象的名称访问所有变量

如何获取脚本中使用的所有变量和方法名称

如何在Iframe PEGA中按类名称获取所有元素

如何通过类名称获取在香草JavaScript中动态附加的所有选择器?

如何从Jint的全局范围中获取所有变量(和函数名称)?

如何使用产品名称获取数组变量中的所有属性值?

如何从python类中的实例变量中获取所有值的列表

在Scrapy中获取所有Spider类的名称

获取包中声明的所有变量和常量名称

如何获取在 ruby 中定义了方法的类?

Roslyn-如何在DiagnosticAnalyzer类中获取变量的所有引用?

在类定义之上获取所有实例方法

如何使用Java反射获取类中定义的所有导入?

如何获取常规对象或类的所有变量?

在评估R中的表达式之前,如何获取所有需要定义的变量?

Java:获取类中的所有变量名

从类定义中获取类的名称

如何在打字稿中排除方法的类中的所有属性的属性名称

如何从Rails的参数中获取会话变量(nil类的未定义方法'*'

您如何使方法内部产生的变量可用于类中的所有其他方法?