Найти - Пользователи
Полная версия: Обнуление значений переменных в class
Начало » Python для новичков » Обнуление значений переменных в class
1
Muslim
Класс объявлен глобально и в общем то только для хранения переменных в виде массива(просто оказалось так удобнее обращаться из разных процедур). Необходимо время от времени обнулять значения этих переменных в классе. Не нашел встроенного метода который сам обнулял бы все значения переменных своего класса, думаю это можно реализовать аккуратнее отдельной процедуры обнуляющей переменные класса. Пока всё выглядит так:
class new:
class komp:
class device:
rack = [0]*6
summ = [0]*12
unit = [0]*11
ant = [0]*49
mod = [0]*4
#далее значения переменных используются\меняются
...
...
...
#далее значения переменных необходимо обнулить
def reset_new():
new.komp.device.rack = [0]*6
new.komp.device.summ = [0]*12
new.komp.device.unit = [0]*11
new.komp.ant = [0]*49
new.mod = [0]*4
reset_new()
Kogrom
Можно, например, использовать объекты:
newObject = New()
#далее значения переменных используются\меняются
...
...
...
#далее значения переменных необходимо обнулить
newObject = New()
Примечание: придётся определить конструктор для каждого класса, и вкладывать объекты, а не классы.
PooH
А вы используйте не класс, а экземпляр класса. И вместо ресета новый создавайте.
Kogrom
Ещё способ.

def get_new_class():

class New:
class Komp:
class Device:
rack = [0]*6
summ = [0]*12
unit = [0]*11
ant = [0]*49
mod = [0]*4

return New

new = get_new_class()
#далее значения переменных используются\меняются
#...
#далее значения переменных необходимо обнулить
new = get_new_class()
Поправка: было нарушено PEP8 в именовании функции. Поправил.
Muslim
PooH
Kogrom
Спасибо. Пожалуй последний способ самый удачный.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB