2.变量
最后更新于
最后更新于
如上定义了变量a,并赋值。
python变量的声明及定义,不需要指明变量的类型(当然python中变量是没有类型的),也不需要其他关键字表明定义一个变量(如swift 中的var)。
但是变量定义后必须赋值,不然没有任何意义,而且会报错,如下:
python 的变量作用域由变量在哪里定义的决定,
L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内置作用域(内置函数所在模块的范围)
内置作用域是通过一个名为 builtin 的标准模块来实现的,但是这个变量名自身并没有放入内置作用域内,所以必须导入这个文件才能够使用它。
Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用域的,也就是说这些语句内定义的变量,外部也可以访问
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问
当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了