def say_boo_twice():
global boo
boo = 'Boo!'
print boo, boo
boo = 'boo boo'
say_boo_twice()
Run Code Online (Sandbox Code Playgroud)
输出是
嘘!嘘!
不像我预期的那样.既然我宣布boo为全局,为什么输出不是:
嘘嘘嘘
在UML中,似乎没有任何元素相当于python中的模块,或者至少我还没有想到它.
python中的一个模块,由一个.py文件表示,有一个标题,表示导入.它可以包含很多类,所有的类都是在模块命名空间,可以直接相互交谈,并有机会获得该模块已导入的包/模块/班.我怎么能在图中画这个?
更新1:最后,我偶然发现了一个网页,在那里我发现了一些似乎相关的东西......在这个网站上(http://www.alan-g.me.uk/l2p/tutclass.htm)作者说:"混合类和模块"一章:
"......我们可以通过两种方式在UML中以图形方式表示.类的逻辑分组可以使用Package表示,或者我们可以将物理文件表示为组件...."
如果这是正确的,python中的模块就像UML中的一个组件.我仍然试图弄清楚,这是如何工作的(因为UML中的一个组件在我看来与python中的模块不同),以及我可以如何准确地模拟它.
更新2:我正在使用可视化范例社区版(没有它的代码生成功能)对其进行测试.现在,我能够看到,在UML模型中,component-element具有类似文件夹的行为,就像包一样.当我用鼠标在包含在一个组件中的类悬停,我可以看到代表自己的命名空间中的组分i想要的效果,.
现在(如果这是建模的正确方法),我在哪里可以指定,这个模块应该导入哪些其他包/模块/类?当我在视觉范例中选择一个包时,它为我提供了一个导入包的选项.但是当我选择一个组件时,没有提供导入功能.非常感谢提前.