作者poopoo888888 (阿川)
看板Python
标题[问题] 关於变数scope的问题
时间Wed Jul 13 14:42:17 2011
大家好
小弟以前只学过C++
最近学Python有些问题想问
像这样的程式
if 1==1:
a = 10
print a
结果会显示10
但在小弟的观念里面
a是属於if这个区块的local变数 所以在外面print不出来
应该会出现error才对 但却不是如此
请问为什麽会这样呢?是否有什麽Python的关键特性小弟应该认识的?
谢谢各位大大!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.197.179
1F:推 kdjf:if 是 statment, 不是function, function才会有local var 07/13 15:28
2F:→ ya790206:The following are blocks: a module, a function body, 07/13 15:29
3F:→ ya790206:, and a class definition.所以if没有block 07/13 15:30
4F:→ poopoo888888:原来如此 原来不同语言看待block的方式有差 07/13 23:43
5F:→ poopoo888888:谢谢两位大大! 07/13 23:43