Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2010 10:19:14

Muslim
От:
Зарегистрирован: 2009-04-06
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Обнуление значений переменных в class

Класс объявлен глобально и в общем то только для хранения переменных в виде массива(просто оказалось так удобнее обращаться из разных процедур). Необходимо время от времени обнулять значения этих переменных в классе. Не нашел встроенного метода который сам обнулял бы все значения переменных своего класса, думаю это можно реализовать аккуратнее отдельной процедуры обнуляющей переменные класса. Пока всё выглядит так:

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()



Офлайн

#2 Апрель 19, 2010 11:23:06

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

Обнуление значений переменных в class

Можно, например, использовать объекты:

newObject = New()
#далее значения переменных используются\меняются
...
...
...
#далее значения переменных необходимо обнулить
newObject = New()
Примечание: придётся определить конструктор для каждого класса, и вкладывать объекты, а не классы.



Отредактировано (Апрель 19, 2010 11:27:03)

Офлайн

#3 Апрель 19, 2010 11:26:45

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Обнуление значений переменных в class

А вы используйте не класс, а экземпляр класса. И вместо ресета новый создавайте.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Апрель 19, 2010 11:42:43

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

Обнуление значений переменных в class

Ещё способ.

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 в именовании функции. Поправил.



Отредактировано (Апрель 19, 2010 11:45:42)

Офлайн

#5 Апрель 19, 2010 12:28:50

Muslim
От:
Зарегистрирован: 2009-04-06
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Обнуление значений переменных в class

PooH
Kogrom
Спасибо. Пожалуй последний способ самый удачный.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version