当前位置: 代码迷 >> 综合 >> 13.变量
  详细解决方案

13.变量

热度:100   发布时间:2023-09-12 06:47:36.0

变量

现在开始学习python的变量

全局变量

什么是全局变量?

在程序开始处,而且不在函数中,不再类中定义的变量,而且在所有作用域都可访问的

变量,便可叫做全局变量

如何使用

在全局变量使用的时候,需要global显示声明。一般情况下,如果函数直接调用全局变量,不做更新的话,一般没有问题,但如果有重新赋值,又没有在函数内部使用 global声明的话, 就相当于在内部创建了一个同名的局部变量,局部变量优先级要高于全局变量。

a = 3def test():global aa = 5print("函数内的a值:{}".format(a))test()
print("函数外的a值:{}".format(a))

运行结果:

函数内的a值:5
函数外的a值:5

错误:

a = 3def test():a = 5print("函数内的a值:{}".format(a))test()
print("函数外的a值:{}".format(a))

运行结果:

函数内的a值:5
函数外的a值:3

局部变量

什么是局部变量?

局部变量是拥有局部作用域的变量。 这样的变量只能由声明它的函数或块中访问

如何使用?

在函数内使用

a = 3def test():a = 5print("函数内的a值:{}".format(a))test()
print("函数外的a值:{}".format(a))

运行结果:

函数内的a值:5
函数外的a值:3

类变量

什么是类变量?

  • 类变量就是定义在类中,但是在函数体之外的变量。通常不使用self.变量名赋值的变量。类变量通常不作为类的实例变量的,类变量对于所有实例化的对象中是公用的。
  • 通过类名可以直接访问,也可以通过实例名直接访问,此变量在类中全局共享,实例之间也是全局共享

如何使用?

在类中定义变量,自调用时就开始生效,直到类销毁

class A:number = 0def add(self):A.number += 1a1 = A()
a2 = A()print(a1.number)
print(a2.number)a1.add()
print(a1.number)
print(a2.number)a2.add()
print(a1.number)
print(a2.number)

运行结果:

0
0
1
1
2
2

实例变量

什么是实例变量?

实例变量是定义在方法中的变量,使用self绑定到实例上的变量,只是对当前实例起作用

如何使用?

在类的内部,实例变量self.实例变量的形式访问;在类的外部使用对象名.实例变量的形式访问。

class A:def __init__(self,name):self.name = namea1 = A("angle")
a2 = A("miku")print(a1.name,a2.name)

运行结果:

angle miku
  相关解决方案