2016-12-18 2 views
0

Для проекта мне нужно получить информацию с веб-сайта. Я хотел написать класс, чтобы разобраться с этой частью.Свойство объекта класса, преобразованное в строку

Сейчас я получаю содержимое HTML с помощью модели запроса и использовать это:

def get_line(self): 
     for line in self.r.iter_lines(): 
       self.i = self.i+1 
       if self.i == self.zeile: 
        return str(line) 
       elif self.i > self.zeile: 
        break 

функцию, чтобы получить определенную строку HTML. Теперь я хотел бы сохранить содержимое строки в переменной, и использовать это:

temp_string = property(get_line) 

Проблема теперь, что у меня есть свойство объекта не является строкой, но сократить содержание этого HTML вниз дальше, я хочу использовать метод .find для динамического получения начальной и конечной точки, где нужно вырезать строку.

Если преобразовать свойство в строку, хотя, он изменяет HTML (который отлично отображается перед началом при печати его утешать) в этом:

<property object at 0x0000020208A5D818> 

Что я делаю неправильно?

+1

Итак ... почему вы назвали 'property'? – jonrsharpe

+0

Ну, вы создали свойство. Свойство - это объект, который вызовет базовую функцию для вас, когда вы попытаетесь получить доступ к свойству * на экземпляре *. Что вы ожидали от этого? –

+0

хорошо я видел свойство, используемое на веб-сайте в соединении с геттерами и сеттерами для классов, поэтому я думал, что могу динамически создавать переменную внутри класса, поэтому, когда я экземпляр этого, мне нужно было бы получить доступ к атрибуту результата без какого-либо метода. в основном положить все рабочие бит в черный ящик и только заботиться о результате. – Nazzaroth

ответ

0

Это ... не то, для чего это свойство или как вы его используете.

get_line уже возвращает строку. Если вы хотите получить результат, просто назовите его в своем экземпляре:

+0

моя цель состояла в том, чтобы вычислить переменную строку до инстанцирования, чтобы все хранилось внутри объекта, и я просто экземпляр класса один раз и уже имею результат, который я хочу в переменной без каких-либо действий. – Nazzaroth

+0

не знаю, как отредактировать мой комментарий, поэтому мне нужно использовать другой комментарий. Вопрос в том, являются ли классы и объекты лучшим способом для этого или существуют более простые способы? или мне нужно что-то вроде actionobject, который делает все вычисления внутри него? – Nazzaroth

+0

Но как это могло сработать? Ваша логика зависит от значений экземпляра, так как вы могли бы вычислить ее перед созданием экземпляра? –

Смежные вопросы