@Edelweiss1304
Начинающий QA

Как изменить переменную класса, после получения информации от объекта?

Всем привет!
У меня есть класс Items:

class Items():

    def __init__(self, name, price):
        self.name = name
        self.price = price


Он помогает создавать экземпляры класса из интернет-магазина с названием и ценой в виде строк.
Дело в том, что цена мне нужна в виде float, поэтому после создания каждого экземпляра я меняю эту цену со строки во float, убрав знак $:

item1 = Items(driver.find_element(By.XPATH, value="//div[normalize-space()='Sauce Labs Backpack']").text,driver.find_element(By.XPATH, value="//div[normalize-space()='$29.99']").text)
item1.price = re.findall(r'[0-9]*[.,][0-9]*', item1.price)
item1.price = [float(i) for i in item1.price]
item1.price = item1.price[0]


Можно ли как-то сделать, чтобы item1.price сразу выводилось во float или придется к каждому созданному экземпляру дописывать этот код, чтобы перевести цену
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
@igor6130
Если формат цены всегда одинаковый, то достаточно сделать срез строки без первого символа и не мучить регулярные выражения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы