Вот вопрос кода python, заданного в тесте InfyTQ.
class classOne:
__var_one = 1001
def __init__(self,var_two):
self.__var_two = var_two
self.__var_five = 5
def method_one(self):
var_four = 50
self.__var_five = ClassOne.__var_one + self.__var_two + var_four
Теперь я хочу спросить, следует ли считать переменную self.__var_five
функции method_one
новой переменная экземпляра или нет? Поскольку функция self.__var_five
в __init__
уже существует.
Кроме того, я изучил понятие глобальной, локальной, stati c и переменной экземпляра из приведенного ниже кода. Это правильно?
#global, local, static, instance variable.
#global variable are defined at the top of program or defined using keyword:global
global global_var1 = 0
global_var2 = 1
def local_variable:
#local variable are defined inside of a function.
local_var1 = 2
class static_instance:
#static/classs variable are defined inside of a class.
static_var1 = 3
def __init__(self):
#all variables defined in the function of a class starting with self.
self.instance_var1 = 4
def static(self):
self.instance_var2 = 5
local_var2 = 6 #local variable as it is in a function.
static_var2 = 6