加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

哄骗这个开源器材来看守 Python 中的变量

发布时间:2021-05-28 15:33:42 所属栏目:教程 来源:互联网
导读:安装 要行使它,你必需先用 pip 安装它: $ python3 - m pip install watchpoints 在Python中行使 watchpoints 对付任何一个你想监控的变量,行使 watch 函数对
副问题[/!--empirenews.page--]

要行使它,你必需先用 pip 安装它:

$ python3 -m pip install watchpoints

在Python中行使 watchpoints

对付任何一个你想监控的变量,行使 watch 函数对其举办监控。

from watchpoints importwatch

 

a =0

watch(a)

a =1

当变量产生变革时,它的值就会被打印到尺度输出:

======WatchpointsTriggered======

 

CallStack(most recent call last):

<module>(my_script.py:5):

> a =1

a:

0

->

1

信息包罗:

变量被改变的行。

挪用栈。

变量的先前值/当前值。

它不只合用于变量自己,也合用于工具的变革:

from watchpoints importwatch

 

a =[]

watch(a)

a ={}#触发

a["a"]=2#触发

当变量 a 被从头分派时,回调会被触发,同时当分派给 a 的工具产生变革时也会被触发。

更风趣的是,监控不受浸染域的限定。你可以在任那里所调查变量/工具,并且无论措施在执行什么函数,回调城市被触发。

from watchpoints importwatch

 

def func(var):

    var["a"]=1

 

a ={}

watch(a)

func(a)

譬喻,这段代码打印出:

======WatchpointsTriggered======

 

CallStack(most recent call last):

 

<module>(my_script.py:8):

> func(a)

func (my_script.py:4):

>var["a"]=1

a:

{}

->

{'a':1}

watch 函数不只可以监督一个变量,它也可以监督一个字典或列表的属性和元素。

from watchpoints importwatch

 

classMyObj:

    def __init__(self):

        self.a =0

 

obj =MyObj()

d ={"a":0}

watch(obj.a, d["a"])#是的,你可以这样做

obj.a =1#触发

d["a"]=1#触发

这可以辅佐你缩小到一些你感乐趣的特定工具。

假如你对输格外式不满足,你可以自界说它。只需界说你本身的回调函数:

watch(a, callback=my_callback)

 

#可能全局配置

 

watch.config(callback=my_callback)

当触发时,你乃至可以行使 pdb:

watch.config(pdb=True)

这与 breakpoint() 的举动相同,会给你带来相同调试器的体验。

假如你不想在每个文件中都导入这个函数,你可以通过 install 函数使其成为全局:

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读