首页 > 深入Python > 开始了解Python > 定义变量 | << >> | ||||
diveintopython.org Python for experienced programmers |
即然你认为已经了解了字典,序列和列表的所有知识,就让我们回到我们的例子程序 odbchelper.py。
Python象大多数其它语言一样有局部和全局变量,但是它没有明显的变量声明。变量通过赋值产生,当超出作用范围时自动消灭。
if __name__ == "__main__": myParams = {"server":"mpilgrim", \ "database":"master", \ "uid":"sa", \ "pwd":"secret" \ }
这里有几个有趣的地方。首先,注意一下缩近。if 语句是代码块,需要象函数一样缩近。
其次,变量的赋值是一条命令被分成了几行,用反斜线(“\”)作为续行符。
当一条命令用续行符(“\”)分割成多行时,后续的行可以以任何方式缩近,Python通常的严格的缩近规则不需遵守。如果你的Python IDE自由对后续行进行了缩近,你应该把它当成是缺省处理,除非你有特别的原因不这么做。 |
严格地讲,在小括号,方括号或大括号中的表达式(如定义字典)可以用或者不用续行符(“\”)分割成多行。甚至在不必需的时候,我也喜欢包括反斜线,因为我认为这样会让代码读起来容易,但那只是风格的问题。 |
第三,你从未声明过变量 myParams,你只是给它赋了一个值。这点就象是VBScript没有设置 option explicit 选项。幸运的是,不象VBScript,Python不允许你引用一个未被赋值的变量,试图这样做会引发一个异常。
>>> x Traceback (innermost last): File "<interactive input>", line 1, in ? NameError: There is no variable named 'x' >>> x = 1 >>> x 1
早晚有一天你会为此而感谢Python。
进一步阅读
元组 101 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
一次赋多值 |