python“静态”变量、实例变量与本地变量的声明

1. 前言

Python作为一门高级编程语言,有其独特的特点。其中之一就是支持多种变量类型,包括静态变量、实例变量和本地变量。这些变量类型在Python编程中具有极大的重要性,本文就Python中的这三种变量类型进行详细介绍。

2. 静态变量

在Python中,静态变量也称为类变量。它们是在类声明时创建并定义的,这意味着它们将在每个类的实例中共享相同的值。

2.1 静态变量的声明

在python中,静态变量的声明非常简单。只需要在class下声明一个变量,即可将它定义为静态变量。下面是一个例子。

class Student():

name = '' #静态变量

score = 0

def __init__(self, name, score):

self.name = name #实例变量

self.score = score

def display(self):

print('Student name:', self.name)

print('Student score:', self.score)

stu1 = Student('Tom', 98)

stu2 = Student('Jerry', 99)

stu1.display()

stu2.display()

在这个例子中,我们定义了一个Student类,其中包含两个静态变量(name和score),两个实例变量(name和score),以及一个display()方法用于显示学生的名字和分数。stu1和stu2是Student类的两个实例,分别对应Tom和Jerry,而他们都共享了一组相同的静态变量。

2.2 静态变量的使用

使用静态变量也非常简单,只需要使用类名引用即可。下面是一个例子。

class Car():

name = '' #静态变量

def __init__(self):

pass

def display(self):

print('Car name:', Car.name)

car1 = Car()

car2 = Car()

Car.name = 'Toyota'

car1.display() #输出:Car name: Toyota

car2.display() #输出:Car name: Toyota

在这个例子中,我们定义了一个Car类,其中包含一个静态变量(name)以及一个display()方法,用于显示静态变量的值。然后我们创建了两个Car对象(car1和car2),并将静态变量Car.name改为Toyota。最后通过调用display()方法来显示静态变量的值。可以看出,它们都输出了Car name: Toyota。

3. 实例变量

实例变量也称为成员变量。它们是在类中使用self关键字定义的,因此每个实例对象都可以有不同的值。

3.1 实例变量的声明

在python中,实例变量的声明非常简单。只需要在实例方法__init__中声明一个变量,即可将它定义为实例变量。下面是一个例子。

class Rectangle():

length = 0 #静态变量

width = 0

area = 0

def __init__(self, length, width):

self.length = length #实例变量

self.width = width

self.area = length * width

def display(self):

print('Rectangle length:', self.length)

print('Rectangle width:', self.width)

print('Rectangle area:', self.area)

rect1 = Rectangle(5, 6)

rect2 = Rectangle(3, 4)

rect1.display()

rect2.display()

在这个例子中,我们定义了一个Rectangle类,其中包含三个静态变量(length、width和area),两个实例变量(length和width),以及一个display()方法用于显示矩形的长、宽和面积。rect1和rect2是Rectangle类的两个实例,分别对应不同的矩形,它们的长、宽和面积都不同,因为它们都有自己的实例变量。

3.2 实例变量的使用

使用实例变量也非常简单,只需要使用self关键字引用即可。下面是一个例子。

class Dog():

name = '' #静态变量

def __init__(self, name):

self.name = name #实例变量

def bark(self):

print(self.name, 'is barking.')

dog1 = Dog('Lucy')

dog2 = Dog('Max')

dog1.bark() #输出:Lucy is barking.

dog2.bark() #输出:Max is barking.

在这个例子中,我们定义了一个Dog类,其中包含一个静态变量(name)以及一个bark()方法,用于让狗叫。然后我们创建了两个Dog对象(dog1和dog2),并给它们不同的name属性。最后通过调用bark()方法来让它们叫,可以看出,它们都成功输出了自己的名字加上is barking.。

4. 本地变量

本地变量是在函数或方法内定义的变量,只能在该函数或方法内部使用。

4.1 本地变量的声明

在python中,本地变量也很容易声明。只需要像声明其他变量一样在函数或方法的内部声明即可。下面是一个例子。

def calculate():

x = 3 #本地变量

y = 4

z = x + y

print(z)

calculate()

在这个例子中,我们定义了一个名为calculate()的函数,其中包含了三个本地变量(x、y和z),这些变量只能在函数内部使用。最后我们调用了该函数,输出了计算后的结果。

4.2 本地变量的使用

使用本地变量也非常简单,只需要在函数或方法内部引用即可。下面是一个例子。

def print_temperature():

temperature = 0.6 #本地变量

print('Temperature:', temperature)

print_temperature()

在这个例子中,我们定义了一个名为print_temperature()的函数,其中包含了一个本地变量(temperature),最后我们调用了该函数,输出了temperature的值。我们还可以尝试在不同的函数中定义同名的本地变量,例如下面这个例子。

def example1():

x = 1

print('x in example1():', x)

def example2():

x = 2

print('x in example2():', x)

example1()

example2()

在这个例子中,我们定义了两个函数(example1和example2),它们都包含了一个本地变量(x)。最后我们调用了它们,分别输出了x的值,可以看出,它们是不同的。

5. 总结

在Python中,静态变量、实例变量和本地变量是我们常用的几种变量类型。静态变量是在类声明时创建并定义的,它们将在每个类的实例中共享相同的值;实例变量是在类中使用self关键字定义的,因此每个实例对象都可以有不同的值;本地变量是在函数或方法内定义的变量,只能在该函数或方法内部使用。熟练掌握这三种变量类型的使用,对于编写高效、可读、易于维护的程序非常重要。

后端开发标签