Передача объекта из одного класса в другой
Надо перенести объект self.name из класса в timeofpersonedit в NewPersonEdit как осуществить?
Отслеживать
задан 15 ноя 2018 в 15:50
khalinmaxim khalinmaxim
633 11 11 серебряных знаков 25 25 бронзовых знаков
Опубликовав свой код полностью, вы увеличите получение решения на ваш вопрос.
15 ноя 2018 в 16:12
Мне надо перенести в def init
15 ноя 2018 в 16:14
перенести в def init — что?
15 ноя 2018 в 16:17
Из класса timeofpersonedit перенести значение объекта self.name в класс NewPersonEdit в объект self.name1
Как передать атрибуты из одного класса в другой (не из метакласса)?
Всем привет. Изучаю питон, помогите разобраться с классами.
Пишу обертку над апи.
class Auth: # авторизация несколькими способами, полученный токен # записываю в аргумент def __init__(self): self.token = None def set_token(token): # один из способов авторизации self.token = token return self.token class Api: # Отправляет запрос к апи, на вход принимает URL def request(url): print('отправляю запрос на', url) class Stat: def __init__(self): self._api = Api() self.token = как в этот класс передать аргумент из Auth? def get(date1, date2): url = date1 + date2 + self.token return self._api.request(url) auth = Auth() auth.set_token('0000001AA') auth.Stat.get('2016', '2017')
не знаю как из auth передать полученный токен в Stat и чтоб при этом осталась иерархия,
потому что помимо Stat, есть другие методы. Выше вариант, до которого я додумался и который не работает)
Я так представляю иерархию файлов:
yandexApi
yandexApi.auth
yandexApi.api
yandexApi.metrica.management
yandexApi.metrica.stat
yandexApi.metrica.logsapi
- Вопрос задан более трёх лет назад
- 583 просмотра
1 комментарий
Простой 1 комментарий
Как передать переменную из одного класса в другой и занести ее в бд, не изменяя остальное в бд?
я пишу программу на питоне с помощью QtDesignera. так вот, у меня появляется окно, в котором пользователь(в самом начале он регистрируется или входит, если уже зарегистрировался. при этом в базе данных сохраняется его пароль, имя и результат = 0) за определенное время должен ввести ответы на математические примеры и нажать кнопку Okey, после чего в новом окно должны появиться «Поздравляю! ваш результат:» и количество правильно решенных задач. но результат, в котором считается правильные ответы реализуется в одном классе, а окно вывода — в другом. как записать его количество верных ответов в бд, а потом вывести их.
class Test(QMainWindow): def __init__(self): super().__init__() uic.loadUi('test.ui', self) self.checkBut.clicked.connect(self.result) def answers(self): self.answers = [self.answer_1.text(), self.answer_2.text(), self.answer_3.text(), self.answer_4.text(), self.answer_5.text(), self.answer_6.text(), self.answer_7.text(), self.answer_8.text(), self.answer_9.text(), self.answer_10.text(), self.answer_11.text(), self.answer_12.text(), self.answer_13.text(), self.answer_14.text(), self.answer_15.text(), self.answer_16.text(), self.answer_17.text(), self.answer_18.text(), self.answer_19.text(), self.answer_20.text(), self.answer_21.text(), self.answer_22.text(), self.answer_23.text(), self.answer_24.text(), self.answer_25.text(), self.answer_26.text(), self.answer_27.text(), self.answer_28.text(), self.answer_29.text(), self.answer_30.text(),] self.right = [32, 7, 14, 427, 68, 56, 3, 432, 18, 7, 712, 7, 98, 28, 783, 9, 354, 35, 9, 49, 127, 387, 8, 36, 72, 206, 6, 315, 226, 42] global right_answers right_answers = 0 for i in range(0, 30): if int(self.answer[i]) == int(self.right[i]): right_answer += 1 def add_result(self, result): self.result = result def result(self): self.check = True self.result.show() self.close() class Result(QMainWindow): def __init__(self): super().__init__() uic.loadUi('result.ui', self) def add_rating(self, rating): self.rating = rating def right_ans(self, right_answers): self.result_test.setText(self.right_answers)
- Вопрос задан более двух лет назад
- 226 просмотров
Как использовать переменную из другого класса java
Если переменная объявлена public , то мы можем получить к ней доступ напрямую, указав имя через точку после имени объекта класса.
Если переменная объявлена private , то необходимо вызвать геттер этой переменной.
class Friend public String name; private String mail; public Friend(String name, String mail) this.name = name; this.mail = mail; > public String getMail() return mail; > > public class App public static void main(String[] args) Friend friend = new Friend("Ivan", "Ivan@mail.ru"); System.out.println(friend.name); // => Ivan System.out.println(friend.getMail()); // => Ivan@mail.ru > >