В Python мы можем определять переменные внутри функций или методов. Обычно используются два типа переменных: статические переменные экземпляра и локальные переменные.
- Статические переменные экземпляра:
Статические переменные экземпляра определяются внутри класса, но вне любого метода. Они являются общими для всех экземпляров класса. Вот пример:
class MyClass:
static_var = 10 # Static instance variable
def __init__(self):
self.instance_var = 20 # Instance variable
def my_method(self):
local_var = 30 # Local variable
В приведенном выше коде static_var— это статическая переменная экземпляра, доступ к которой могут получить все экземпляры класса MyClass. Каждый экземпляр MyClassбудет иметь собственную копию переменной instance_var. Переменная local_var — это локальная переменная, доступ к которой возможен только внутри метода my_method.
- Локальные переменные.
Локальные переменные определяются внутри метода или функции и доступны только внутри этого метода/функции. Они имеют ограниченную сферу применения и обычно носят временный характер. Вот пример:
def my_function():
local_var = 10 # Local variable
print(local_var)
my_function() # Output: 10
print(local_var) # Raises NameError: name 'local_var' is not defined
В приведенном выше коде local_var— это локальная переменная, определенная в функции my_function. Доступ к нему возможен только внутри этой функции и недоступен вне ее.