Val
@Relaxgr01 Не обижайся на них, они иногда бывают немного токсичны если задаешь вопрос сильно ниже их квалификации
Bogdan
Чем отличается Back end и Front end?
тем что это спина и морда
Михаил
тем что это спина и морда
конец спины и конец морды
Bogdan
конец спины и конец морды
но ведь так и есть:D
Bogdan
Бекенд серверная часть, фронтенд внешняя
клиентская тогда раз на то пошло
Val
рофл от Бога
Бля. Я серьезно не могу догнать. Шутки ради вписал такие имена. Реально: Как экземпляр класса узнаёт как он сам называется? Он вообще знает как он называется? Я может не очень понимаю как там пространство имён устроено? - объясните, подскажите пожалуйста. Я реально не могу самостоятельно разобраться как это работает
Bogdan
я хз как в петухоне, в шарпеи легко - рефлексия
главное в ней не сломать себе жопу ибо рефлексия простая по началу а потом как начнется прогулка по сборкам
Asiman
val не доступен в других методах, это же параметр функции init. а вот поле stupid у self доступно для всех методов класса
Asiman
кроме classmethod
Bogdan
у тебя нет поля stupid следовательно ты пытаешся в космос присвоить?
Asiman
print(self.stupid)
print(f'self.stupid = {self.stupid}')
Bogdan
или в питоне можно неявно его задать?
Val
print(self.stupid)
Оно мне так даёт значение, в данном случае "100" Я наверное не смог вопрос задать правильно. Пробую ещё раз: может-ли экземпляр класса сказать стрингом как его зовут ?
Bogdan
в init есть
так это конструктор
Bogdan
нуууу
ну а коструктор присваивает значения полям класса
Asiman
конструктор вызывает при создании объекта класса
Igor
я хз как в петухоне, в шарпеи легко - рефлексия
Какая рефлексия? он имя переменной из класса хочет получить ... а если на объект класса ссылается несколько переменных ? а если ни одной?
Bogdan
может в питоне конечно иначе но в шарпе такое работать не будет если stupid не указан как поле или свойство
Asiman
блядь, в init указано поле stupid
Asiman
self.stupid = val
Bogdan
self.stupid = val
ну значит в питоне можно прямо в конструкторе поля задавать
Bogdan
в шарпе так работать не будет если поле явно не задано как часть класса то коструктор его генерировать не может
Asiman
добрый молодец, ты зачем тут про шарп пишешь? вопрос по существу по какому языку?
Bogdan
я думал мб и в питоне так, я с ООП в питоне не работал
Bogdan
а все я понял как в питоне это работает
Bogdan
короче динамическая типизация в топку
Asiman
да при чем тут типизация
Igor
он про перегрузку
Asiman
Asiman
он про перегрузку
как типизация связана с перегрузкой методов?
Val
на 3д принтере рожает
Возможно ваша аналогия лучше. Парень простой вопрос задал. Считаю что вы ему помогли сориентироваться лучше. Вы ведь не пытались его высмеять?
Михаил
как типизация связана с перегрузкой методов?
а с тем что ты можешь запихнуть в p1.name как строку, так и Int Float другую структуру и вообще любой мусор
Bogdan
как типизация связана с перегрузкой методов?
тем что ты можешь создать метод с разным количеством параметров и разным типом этих параметров без этого перегрузка впринципе невозможна
Bogdan
в динамической типизации ты не можешь например несколько конструкторов добавить без костылей
Asiman
если вам нужно несколько конструкторов то уже не оч звучит
Bogdan
если вам нужно несколько конструкторов то уже не оч звучит
гибкость и универсальность? нет, не слышали
Val
self.stupid = val
Извиняюсь. Понимаю что тут не экстрасенсы. Пробую сформулировать точнее - имел ввиду self. Сам экземпляр класса может знать своë имя self? Т.е. где-то там, внутри себя он это хранит? Мне ООП чертовски трудно дается
Andrii
в динамической типизации ты не можешь например несколько конструкторов добавить без костылей
Ну... что такое несколько конструкторов? В целом нет никакой проблемы, чтобы в один конструктор передавать разные по типу параметры. Как по мне, это намного гибче
Val
а все я понял как в питоне это работает
👆Вот например👆 Экземпляр р1 знает у себя внутри что его зовут р1?
Сергей
Всем привет
Bogdan
несколько конструкторов может понадобиться часто если что бы что-то более гибким
Andrii
но ведь это не тоже самое
Ну... решает одну и ту же задачу. Просто решение Python более гибкое.
Bogdan
👆Вот например👆 Экземпляр р1 знает у себя внутри что его зовут р1?
ты хочешь что бы обьект сам вывел как его в коде зовут?
SSS
Всем привет
Привет парикмахер
Bogdan
Да
зачем?
Andrii
несколько конструкторов может понадобиться часто если что бы что-то более гибким
Все методы в Python принимают по сути два аргумента. Этого более чем достаточно :)
Сергей
Ребят подскажите как сделать чтобы по клику сердце становилось красным и обратно?
SSS
Ничего себе у вас тут обсуждения. Жаль что ничего не понятно
Asiman
Извиняюсь. Понимаю что тут не экстрасенсы. Пробую сформулировать точнее - имел ввиду self. Сам экземпляр класса может знать своë имя self? Т.е. где-то там, внутри себя он это хранит? Мне ООП чертовски трудно дается
не обязательно должно быть слово self, это всего лишь соглашения между питонистами. На скрине не self, но объект создается и значение цвета передается объекту
Bogdan
Все методы в Python принимают по сути два аргумента. Этого более чем достаточно :)
ООП в Python как говорил мой препод впринципе одна из самых спорных парадигм
Maksim Pozharskiy
Ребят подскажите как сделать чтобы по клику сердце становилось красным и обратно?
В обработчике клика навешивать нужный класс с красной стилизацией на элемент (если сердце у тебя не картинкой сделано)
Сергей
SVG
Bogdan
у тебя картинка меняется именно?
Andrii
self
Asiman
ты можешь через dir() посмотреть все поля объекта
Сергей
Да я сделал обычное серое потом с красный контур и красное сердце
Asiman
@Val3210123 вон видишь меня уже поправляют питонисты в чате, мол нужно писать self потому что конвенция
Val
зачем?
Исследую и щупаю классы. Чего там можно, и чего нельзя. Короче в познавательных целях. Этот пример просто пришёл мне в голову, и решил допытаться до решения.
Bogdan
я вообще не понял он хочет именно имя класса получить или имя конкретного обьекта
Bogdan
если имя класса то это просто тип, а если имя конкретного обьекта то там есть свои приколы
Val
Парни. Всем спасибо, решено!
Bogdan
self.class.name раньше кстати вроде ещё такое было если я не ошибаюсь
Bogdan
тг затер нижние подчеркивания