想象一下这个场景:
我在 Zope 中有一个 ZPT,我在金属块中定义了一个全局变量。
这个变量从这样的表达式中获取它的值
global myVar id | nothing;
global anotherVar 1;
wherenothing
可以替换为python:0
or python:False
orNone
等等。
现在想象到另一个街区,我会做类似的事情
global myVar2 myVar | anotherVar | nothing;
nothing
我上面指定的所有内容都在哪里。
现在假设它id
没有一个值,因此myVar
被采用nothing
(或其他可能的值;它根本没有区别)。
我所期望的是,它myVar2
具有anotherVar
价值,因为anotherVar
它具有价值。myVar2
但令我大吃一惊的是,我注意到这不是真的,而且很有myVar
价值。这意味着nothing
。
如果我理解发生了什么,我会假设这种语句只控制该变量的存在而不是它的值。
显然,我可以将这种陈述变成一种 Python 的方式,当然,它工作得“很好”(即,正如我所期望的那样)
所以,有人可以证实或反驳我在那里的假设吗?