python - 如何通过装饰器在函数内打印活动变量的名称?- 蟒蛇 3
问题描述
所以,我有这个代码:
def checkScope(f):
def inner(*args):
res=f(*args)
// I WANNA PRINT HERE BIM BUM AND BAM
return res
return inner
class A():
@checkScope
def first(self):
bim = 5
return self.second(bim)
def second(self,m):
if m < 8:
bum = 6
return self.third()
def third(self):
bam=2
return bam
test=A()
test.first()
如何使用 Inspect 在函数 checkScope 内打印变量 bim bum 和 bam?
解决方案
装饰器不能在你的行之间放置命令。您的变量仅在函数运行时存在,因此无法在其他任何地方读取。您必须将它们定义为类变量或globals。
您可以做的一件事是将它们全部作为参数传递并读取它们。
推荐阅读
- javascript - Process.on(unhandledRejection) 记录实际的承诺而不是 [Object Promise]
- java - 使用 Spring 为 RabbitMQ 配置创建 SSLContext
- windows - Windows 任务计划程序作业每两分钟
- c# - 第二次使用同一张卡时自适应卡id冲突
- actionscript-3 - as3 adobe animate中的打印按钮
- c - 当服务器关闭连接并且客户端同时发送一些数据时会发生什么?
- maven - 从 Azure DevOps 发布声纳扫描结果
- sql - 如何仅选择一列对于同一 ID 可以具有空值或非空值的行
- flutter - “ControllerMVC*”类型的值不能分配给“DeliveryAddressesController?”类型的变量
- sql - SQL SSRS 从报告中打开 Docx 文件