access tempvars 宏_Python tempvars包_程序模块 - PyPI - Python中文网

当前开发版本:

最新稳定版本:

信息:

使用jupyter笔记本?

经常遇到过时变量带来的问题

在命名空间中?

tempvars有帮助。

在jupyter笔记本中开发有时会令人沮丧。

例如,调试一个工作表半小时会让人恼火,

结果发现一个携带的变量名

在笔记本命名空间中并导致问题。

或者,打开一个“运行良好”的笔记本

它被使用的时间,但仅仅是因为随机的,过时的变量

在命名空间中徘徊。

在函数/类中包装笔记本代码是避免

这些问题,但是

在笔记本开发的初始探索阶段执行此操作。

TempVars是一个上下文管理器,通过

它的作用域,然后在之后恢复它们(如果需要,也可以不恢复)。

此外,在托管上下文中创建的任何变量

符合TempVars筛选条件的将从中删除

退出时的命名空间,确保这些值不是虚假的。

参与以下代码。为了方便起见,所有变量

从入口和退出的命名空间删除

存储以供以后参考(参见下面的示例代码)。

由于python处理非全局作用域的方式,TempVars

只能在全局范围内使用。任何尝试

在非全局上下文中使用TempVars将

导致RuntimeError。可行的用例包括jupyter笔记本,

ipython和基本python repls,以及executed和

导入的模块。初步测试表明,它还可以与

cauldron-notebook不过

由于它的step局部范围界定范式,它在那里可能没有什么帮助。

(共享值必须通过cauldron.shared传递)。

使用pip install tempvars安装后,导入为:>>>fromtempvarsimportTempVars

对于Jupyter笔记本电脑的典型应用,推荐的方法是

选择一个标记,用于所有临时变量,

并将整个单元格括在TempVars上下文中。例如,

可以在所有临时变量前面加上t_

在参数中开始参数:>>>foo=5>>>withTempVars(starts=['t_']):...print(foo)...t_bar=8...print(foo+t_bar)513>>>print('t_bar'indir())False

类似的效果可以通过后缀来实现,例如

结束参数。

也可引入临时变量掩蔽

通过names参数以更具选择性的方式编码:>>>foo=5>>>bar=7>>>withTempVars(names=['bar']):...print(foo)...print('bar'indir())5False>>>print(foo*bar)35

将restore参数设置为False指示TempVars

不将任何屏蔽变量还原到

上下文退出。这可能有助于避免

下游单元格的常用辅助变量(arr,df,i等)

可能是在笔记本中创建的:>>>forkin['foo','bar']:...pass>>>print(k)bar>>>withTempVars(names=['k'],restore=False):...print('k'indir())False>>>print('k'indir())False

TempVars存储从命名空间中删除的变量的值,

是否需要访问它们。带有/as语句的绑定必须是

用于启用此功能:>>>foo=5>>>withTempVars(names=['foo'])astv:...print('foo'indir())...print(tv.stored_nsvars['foo'])...foo=8...print(foo)False58>>>print(foo)5>>>print(tv.retained_tempvars['foo'])8

在PyPI:pip install tempvars上可用。

来源于GitHub。

欢迎在

Issues那页。

如果您喜欢问题列表中已有的增强功能,

请对此发表评论;这将有助于确定优先顺序。

版权所有(c)Brian Skin 2017-2018

许可证:麻省理工学院的许可证。见LICENSE.txt

完整的许可条款。

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值