变量是用于存储某些数据的容器。它们表示内存位置。任何类型的数据都可以存储在 Python 的变量中,包括整数,字符串,浮点数,布尔值等。 在 Python 中,定义变量时不需要指定变量的数据类型。但是,在使用变量之前,必须先定义它们,只需为变量赋值即可完成,如下所示:
在这里,“x” 是一个变量的名称。由于 x 保存一个整数值,因此它是一个整数变量。 变量的作用域变量的声明确定了变量的作用范围。Python 变量中存在两个基本作用域:局部变量、全局变量。
在函数等模块中定义的变量通常仅在该块中可用。在范围之外,无法访问它们。这些类型的变量称为局部变量。 以下示例中,如果从变量作用范围之外访问它们,则会触发 NameError 异常。
在上面的例子中,name 是 hello() 函数的局部变量,不能在它之外访问。
全局变量是存在于函数等模块之外的变量。任何函数都可以访问其值。
验证变量是否存在Python 中检查变量是否存在,避免因为变量未已定义或作用域问题引发异常。
locals() 函数会以字典类型返回当前位置的全部局部变量。我们可以检查变量是否存在于 locals() 中。
在上面的示例中,定义了一个函数 “bianliang()”,并在函数内部定义了一个变量 “x”。由于 locals() 函数返回包含当前局部变量的字典,因此我们可以使用 “in” 运算符来检查变量是否存在。 函数内部定义的变量 “x”,在函数内部是可用的,函数外部是未定义。
globals() 函数会以字典类型返回当前位置的全部全局变量。 同样我们可以使用 “in” 运算符在检查变量是否存在全局命名空间中。
hasattr() 函数用于判断对象是否包含对应的属性。可用于查看类中是否存在变量。 以下示例中,使用 hasattr() 检查 “name” 是否存在,如果存在,输出相应属性。hello 类中不存在 “age” 属性,输出 False。
|
|
来自: 信息科技云课堂 > 《Python 技巧》