Найти - Пользователи
Полная версия: классы
Начало » Python для новичков » классы
1
Elena
Написан такой класс (написан как отдельный модуль)
class log(object):
    def __init__ (self, name, depths, values):
        self.name = 'name'
        self.depths = depths  
        self.values = values 

в другом модуле я использую этот класс, точнее атрибуты класса. Мне сказали их нужно объявить (depths и values ). Но при объявлении этих атрибутов мне выдается ошибка.

depths = Programms.log.depths

Programms - это пакет где находится класс log

ошибка:
type object 'make_log' has no attribute 'depths'

Что я не так делаю?
Soteric
В вашем случае depths это атрибут экземпляра класса, а не самого класса. Должно быть так:
class log(object):
depths = 0
def __init__ (self, name, values):
self.name = 'name'
self.values = values
Если конечно это то, что вы имеете ввиду и понимаете разницу между классом и его instances (экземплярами).
FishHook
Elena
class log(object):
    def __init__ (self, name, depths, values):
        self.name = 'name'
        self.depths = depths  
        self.values = values


Елена, этот код бредовый. Ваш инит принимает параметр name, который Вы никак не используете, зачем тогда Вы его запихали в параметры?
self.name = 'name'
всегда (!!!) будеn == ‘name’ не зависимо от того, что Вы передадите в параметре name.
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