【发布时间】:2023-12-27 23:43:01
【问题描述】:
在ipython 中,我定义了一个名为c 的宏(此宏清屏)。
我注意到,当我输入时
c = 2 + 2
我的宏 c 被执行。我本来期望的,我没有调用宏,而是分配了一个变量 c。
有什么方法可以区分这两者(宏赋值还是变量赋值)?
【问题讨论】:
标签: python python-2.7 ipython
在ipython 中,我定义了一个名为c 的宏(此宏清屏)。
我注意到,当我输入时
c = 2 + 2
我的宏 c 被执行。我本来期望的,我没有调用宏,而是分配了一个变量 c。
有什么方法可以区分这两者(宏赋值还是变量赋值)?
【问题讨论】:
标签: python python-2.7 ipython
我看不到任何简单的方法来覆盖或区分宏与变量,但macros 可以以python 变量名称中的不合法字符开头:
您可以使用 1c, $c 或任何其他不会与 python 变量名冲突的变体。
【讨论】:
globals()['c'] = 2 + 2
将重新分配c 的值(从而解除它与宏定义的关联)。
我认为您最好的选择是重命名宏或变量。
【讨论】: