Курс Python 3 | Работа с классами и экземплярами

  Рет қаралды 36,122

Andrievskii Andreii

Andrievskii Andreii

Күн бұрын

Пікірлер: 102
@chi4208
@chi4208 2 жыл бұрын
Просто бог изложения материала, многих пересмотрел на ютубе, но так подробно и доступно никто не объясняет, затрагивая каждую мелочь. Преподавательский талант очевиден.
@Евгений-щ6с6к
@Евгений-щ6с6к 4 жыл бұрын
Если кому то интересно, уроки ведуться по книге Мєтиза Єрика "Узичаем Python" 3-е издание
@andrievskii
@andrievskii 4 жыл бұрын
Все верно!
@Евгений-щ6с6к
@Евгений-щ6с6к 4 жыл бұрын
@@andrievskii очень полезно читать потом закреплять видео уроком, Спасибо.
@kinddemon9779
@kinddemon9779 3 жыл бұрын
@@Евгений-щ6с6к я тоже так делаю
@morpex2904
@morpex2904 4 жыл бұрын
Задание со звёздочкой. Не судите строго) class User(): """Класс по созданию пользователей""" def __init__(self, login, password): """Инициализация атрибутов пользователя""" self.login = login self.password = password self.count = 0 def log_in(self, log_in, pass_word): """Логин и счётчик логинов""" if self.login == log_in and self.password == pass_word: print('Добро пожаловать в аккаунт, ' + self.login.title()) self.count = self.count + 1 else: print('Вы неправильно ввели логин или пароль.') def unlogin(self, check): """Выход""" if check == 'Выйти': print('До свидания, ' + self.login.title()) def print_count_of_logins(self): """Вывод счётчика логинов""" print(self.count) user1 = User('Ivan', 12345) # Создание пользователя user1.log_in('Ivan', 12345) # Логин user1.unlogin('Выйти') # Выход user1.log_in('Ivan', 12345) # Логин user1.unlogin('Выйти') # Выход user1.print_count_of_logins() # Вывод счётчика
@cocojabaa
@cocojabaa Жыл бұрын
у меня примерно такой же)
@anns.3322
@anns.3322 5 жыл бұрын
Ура, наконец-то нашла человека, который доходчиво объясняет классы простым смертным 🙏
@andrievskii
@andrievskii 5 жыл бұрын
Надеюсь и в дальнейших уроках все будет так же понятно ))
@romaroman8204
@romaroman8204 5 жыл бұрын
Решение : def increment_odometer(self, km): if km >= 0: self.odometer_reading += km else: print('Ошыбка')
@mixfir8173
@mixfir8173 5 жыл бұрын
*ошибка
@КарлМаркс-ю5л
@КарлМаркс-ю5л 5 жыл бұрын
@@mixfir8173 *это было в шутку
@Posol86
@Posol86 4 жыл бұрын
self.odometer_reading += abs(km)
@justsmile963
@justsmile963 4 жыл бұрын
Или же наоборот: def increment_odometr(self, km): if km < 0: print(Грязный читер!) else: self.odometer_reading += km
@DizzyPhysics
@DizzyPhysics 3 жыл бұрын
Можно ведь просто использовать функцию модуля (abs()) на аргумент km.
@muradverdiyev5252
@muradverdiyev5252 2 жыл бұрын
Ну как сказать , ну как выразить свое блогодарность за токую проделанную работу. ОГРОМНОЕ ТЕБЕ СПАСИБО
@tbassir9076
@tbassir9076 Жыл бұрын
Всё очень классно и понятно! Респект!
@ДємянВ
@ДємянВ 3 жыл бұрын
Андрію,Ви такі фундаментальні речі вкладаєте як аксіому але нажаль новачкам більшість речей буде важко зрозуміти по факту відсутності первинних знань,вееееличезний песпект вам за вашу роботу,сподіваюся що Ви сприймаєте критику та вважаю що багато людей були б дуже вдячні за детальніший опис суті конструктиву мови програмування,Дякую
@НаталяМурзахматова
@НаталяМурзахматова 5 жыл бұрын
Боже, не могу поверить. Я наткнулась на ваше видео СЛУЧАЙНО, мне не хватало знаний по ООП, но теперь благодаря вашим видео я знаю python почти в совершенстве, спасибо большое, честно, спасибо :)))
@Alex-hh5oe
@Alex-hh5oe 4 жыл бұрын
Скорее всего Ваше "почти" все еще большого размера)
@АнтонКолесов-к8я
@АнтонКолесов-к8я 4 жыл бұрын
@@Alex-hh5oe да-да)
@traffox
@traffox 4 жыл бұрын
Прям как и я ))
@andrewharazdowskyy4771
@andrewharazdowskyy4771 4 жыл бұрын
Кратко. Доступно. Понятно. СПАСИБО. Подписался.
@ЯрославСиммаркет2
@ЯрославСиммаркет2 4 жыл бұрын
Спасибо большое! Вы очень хорошо обьясняете! У Вас просто талант к этому!
@traffox
@traffox 4 жыл бұрын
Класс! Очень подробно и доходчиво. Теперь... я знаю кунг-фу )
@syd6358
@syd6358 2 жыл бұрын
Спасибо, очень круто даете материал. Надеюсь у вас все хорошо.
@_name8097
@_name8097 3 жыл бұрын
def increment_odometer(self, km): self.odometer_reading += abs(km) Просто km взять в abs() abs() - это метод который возвращает модуль числа. Если мы укажем -10 то abs() перепишет его в 10
@jozakatkin
@jozakatkin 5 жыл бұрын
Спасибо за ваши уроки! Все понятно
@valley527
@valley527 4 жыл бұрын
огромное спасибо вам за уроки, наконец, благодаря вам я понял суть классов. Читал книгу Мэтиза, но понял только после ваших уроков
@andrievskii
@andrievskii 4 жыл бұрын
На это и рассчитано, чтобы максимально ясно и доступно объяснить
@TridoknayT1
@TridoknayT1 2 жыл бұрын
Как минимум за Д/З стоит поставить лайк
@leon1595
@leon1595 5 жыл бұрын
Было бы неплохо если бы вы рассказали про метод super, а так-же про super().init() .У вас очень хорошо получается объяснять, не понимаю почему у вас так мало просмотров.
@КритикЛатунский-х1т
@КритикЛатунский-х1т 4 жыл бұрын
поддерживаю инициативу!)) было бы очень кстати)
@marinaurrey5246
@marinaurrey5246 5 жыл бұрын
Замечательный урок! Спасибо).
@litescan5179
@litescan5179 4 жыл бұрын
Андрей спасибо за работу! Только не ленитесь повторять значение элементов в коде.. смотрят новички, и часто смотрят не полным циклом видеозаписей.. спасибо
@Юлия-н2ъ6м
@Юлия-н2ъ6м 4 жыл бұрын
Как обычно выше всяких похвал:)
@alisher-qe5cf
@alisher-qe5cf 4 жыл бұрын
Почему-то после того как вы объяснили мне все наконец-то дошло
@gx5037
@gx5037 5 жыл бұрын
Книга Эрика Метиза "Изучаем Python" Второе издание - оттуда все эти задачки...
@andrievskii
@andrievskii 5 жыл бұрын
У меня 90% задач и примеров с книг взяты!
@gx5037
@gx5037 5 жыл бұрын
@@andrievskii просто видос могут забанить, будь осторожнее
@overparser
@overparser 5 жыл бұрын
@@gx5037 это невозможно
@kekwwwwk
@kekwwwwk 4 жыл бұрын
Спасибо. Понял ооп благодаря вам.
@geparrda
@geparrda 4 жыл бұрын
Очень хорошо обьясняешь
@andrievskii
@andrievskii 4 жыл бұрын
Спасибо.
@geparrda
@geparrda 4 жыл бұрын
@@andrievskii =)
@twister4839
@twister4839 5 жыл бұрын
Святой человек!
@shermuhammadwolf10
@shermuhammadwolf10 5 жыл бұрын
Красава ждем django2 спасиба
@reiser8369
@reiser8369 5 жыл бұрын
Ты лучший, тупо все понял))))) Покодил, сделал свое, просто бомба)
@andrievskii
@andrievskii 5 жыл бұрын
Мне приятно осознавать, что мои видео уроки приносят результат
@blenderast8862
@blenderast8862 4 жыл бұрын
print(спасибо большое,очень хорошо объясняете!!!")
@beardedman721
@beardedman721 Жыл бұрын
Пропустили открывающие кавычки, код выдаст ошибку))
@TRX_144
@TRX_144 4 жыл бұрын
Подскажите плиз можно ли из одного класса менять как то параметры другого- если да то как это правильно сделать
@tbassir9076
@tbassir9076 Жыл бұрын
почему то выдаёт ошибку в 21 линии заполнил, как на экране my_car('audi', 'a4', 2017)
@SectorGm
@SectorGm 4 жыл бұрын
class User: def __init__(self, first_name, second_name): self.first_name = first_name self.second_name = second_name self.sum = 0 def login(self): self.first_name = name1 self.second_name = name2 print('Добро пожаловать ' + self.first_name + ' ' + self.second_name) def c_ount(self): self.sum += 1 print("Вы вошли " + str(self.sum) + ' раз(а)') def dislogin(self): del self.first_name, self.second_name print('Вы вышли') def print_count(self): return self.sum name1 = input('Введите свое имя: ') name2 = input("Введите свою фамилию: ") Pearson = User(name1, name2) '''Pearson.c_ount() Pearson.c_ount() Pearson.c_ount() Pearson.c_ount() Pearson.login() Pearson.dislogin()'''
@DizzyPhysics
@DizzyPhysics 3 жыл бұрын
Домашнее задание решается путём написания функции модуля (abs()) на аргумент km)))
@sitd1751
@sitd1751 3 жыл бұрын
Тогда же он будет увеличивать при добавлении отрицательного значения. Нам в данном случае просто нужно поставить фильтр. Если.. > 0.. иначе..
@МэттьюПрокофьев
@МэттьюПрокофьев 3 жыл бұрын
Прохожу курс на скиллбоксе и там преподаватель на видео ооочень нудно и сумбурно объясняет про классы....очень нудно и трудно воспринимается. Этот роликсмотрю и всё сразу понятно и динамично объясняет, вообще супер!! P.S. мне никто не смог объяснить почему пишется в __init__ self.a = a, self.b = b, а работаешь всё равно с self.a(b), из-за чего путанница происходит внутри - вот есть же краткое название переменной (вместо self.a писать просто a), а тут я понял сразу почему так пишется!
@ArtyoMajas
@ArtyoMajas 5 жыл бұрын
А зачем конкатенировать там где нет необходимости?
@emilrasulzade9712
@emilrasulzade9712 4 жыл бұрын
потому что могу
@АнтонВладимирский-т4ш
@АнтонВладимирский-т4ш 4 жыл бұрын
Андрей, спасибо большое за урок! У меня вопрос. Если эту конструкцию: def update_odometer(self, km): if km >= self.odometer_reading: self.odometer_reading = km else: print('Не стоит с этим баловаться, дружище!') Изменить на: def update_mileage(self, km): """Обновляем пробег мотоцикла""" if km > self.mileage: self.mileage = km elif km == 10000: print('(!) ПОРА НА СЕРВИС. (!)') else: print('Не стоит с этим баловаться, дружище!') Интерпретатор не выводит "ПОРА НА СЕРВИС" при соответствующем вызове. С чем это связано? Похоже, что я где-то сильно поплыл... Заранее, спасибо!
@ПыыфПыыфов
@ПыыфПыыфов 4 жыл бұрын
Надеюсь верно (задание со звездочкой): class User(): """Класс для сайта""" def __init__(self, first_name, second_name): """Описание пользователя""" self.first_name = first_name self.second_name = second_name self.kolichestvo_vhodov = 0 def login(self): """Метод чтобы залогиниться (Пользователь указывает имя,фамилию при входе""" a = input("Введите имя: ") b = input("Введите фамилию: ") self.first_name = a self.second_name = b print("Здравствуйте, ", self.first_name.title(),self.second_name.title()) def login2(self): """Метод чтобы залогиниться (Пользователь указывает имя,фамилию при создании экземпляра""" print("Здравствуйте, ", self.first_name.title(),self.second_name.title()) def kolichestvo(self): """Считает количество входов + выводит количество заходов""" self.kolichestvo_vhodov = self.kolichestvo_vhodov + 1 print("Вы вошли ", self.kolichestvo_vhodov, " раз") def razloginitsya(self): """Метод чтобы разлогиниться""" print("Вы вышли из своего профиля") user1 = User("sam vvedet", "sam vvedet") user2 = User("Николай", "Петров") user1.login() user1.kolichestvo() user1.razloginitsya() print(" ") user1.login() user1.kolichestvo() user1.razloginitsya() print(" ") user2.login2() user2.kolichestvo() user2.razloginitsya() print(" ") user2.login2() user2.kolichestvo() user2.razloginitsya()
@_digitall_
@_digitall_ 4 жыл бұрын
Не читал задание, но мне кажется можно обойтись без login2 просто подставив изначальные значение параметров имя и фамилия в конструкторе
@ache070707
@ache070707 4 жыл бұрын
хорошо, но последний обьект я бы сделал вот так: def razloginitsya(self): """Метод чтобы разлогиниться""" input("Нажмите чтобы разлогиниться!") return print("Вы вышли из своего профиля")
@КонстантинМанахов-р9ю
@КонстантинМанахов-р9ю 4 жыл бұрын
Кто-нибудь знает можно ли посчитать количество выполненных методов, допустим, сколько раз был выполнен какой-либо метод?
@andrievskii
@andrievskii 4 жыл бұрын
Конечно, создаешь глобальную переменную или список, если хочешь разные методы считать и в каждом методе при его вызове делаешь инкрементом плюс к значению из глобальной переменной. Вот тебе и счетчик
@КонстантинМанахов-р9ю
@КонстантинМанахов-р9ю 4 жыл бұрын
@@andrievskii спасибо, попробую
@КонстантинМанахов-р9ю
@КонстантинМанахов-р9ю 4 жыл бұрын
@@andrievskii Попробовал, не получается, возможно я что-то не то делаю, значение глобальной переменной остается всё равно равным 1, не увеличивается при повторном вызове метода, не понял до конца как сделать инкрементом плюс к значению из глобальной переменной
@motor2298
@motor2298 3 жыл бұрын
@@КонстантинМанахов-р9ю i += 1
@vitalijsawizki6816
@vitalijsawizki6816 3 жыл бұрын
Парни почему не работает ? if self.odometer_reading < 0: print('This action is not allowed') else: self.odometer_reading += km
@art_is_hazy
@art_is_hazy 5 жыл бұрын
Круто )
@denismerigold486
@denismerigold486 5 жыл бұрын
Спасибо!
@immu9703
@immu9703 4 жыл бұрын
делаю всё тоже самое, но Python ругается на аргументы... VisualCode 2019. Не работает, и не пойму в чём дело.
@incognito5797
@incognito5797 4 жыл бұрын
попробуй установить нужные расширения, например базовое расширение питон, собственно для работы с питоном)
@АрсенийМракобесов-з5г
@АрсенийМракобесов-з5г 4 жыл бұрын
как понять эту ошибку? TypeError: object.__init__() takes exactly one argument (the instance to initialize)
@АртёмКраус-ъ1ф
@АртёмКраус-ъ1ф 4 жыл бұрын
Вы видимо забыли дописать атрибут self
@АлександрЮшкевич-и1ъ
@АлександрЮшкевич-и1ъ 4 жыл бұрын
Cо звездочкой: import time class User(): def __init__(self,login, password): self.login = login self.password = password self.status = 'loged_out' self.sessions = 0 self.logout = 'L' def authentification(self,log_check,pass_check,status='loged in'): if self.login==log_check and self.password==pass_check: self.status = status print(self.status + '. Time: ' + time.strftime('%H:%M')) else: print('Wrong login or password.Try again') return i_am.authentification(i_am.log_input(),i_am.pass_input()) return i_am.logingout(i_am.to_logout()) def logingout (self, logout_check): if self.logout == logout_check: print('Loged_out' + '. Time: ' + time.strftime('%H:%M')) return i_am.authentification(i_am.log_input(),i_am.pass_input()) def to_logout(self): return input('Press "L" to_logout: ') def log_input(self): return input('Enter your login: ') def pass_input(self): return input('Enter your password: ') class Admin(User): def __init__(self, login, password): super().__init__(login,password) i_am = User('Chinazes12', 'Alex') i_am.logingout(i_am.to_logout()) Автоматизирований
@1nparad1sepwnz79
@1nparad1sepwnz79 2 жыл бұрын
Если км > 0 до добавляем Иначе можете сами придумать)
@АрсенийМракобесов-з5г
@АрсенийМракобесов-з5г 4 жыл бұрын
да кстати ты делаешь контаминацию слишком часто, даже там где можно обойтись и без неё
@burialstance
@burialstance 4 жыл бұрын
abs(km)
@gx5037
@gx5037 5 жыл бұрын
ставьте скорость 1.5
@Alex-hh5oe
@Alex-hh5oe 4 жыл бұрын
я на 2 смотрю)
@КритикЛатунский-х1т
@КритикЛатунский-х1т 4 жыл бұрын
@@Alex-hh5oe а я - на 0.25
@_digitall_
@_digitall_ 4 жыл бұрын
На х2 смотрю, и то медленно))
@ElzaDeSico
@ElzaDeSico Жыл бұрын
class User(): А зачем тут скобки?
@andrievskii
@andrievskii Жыл бұрын
Так принято при объявлении класса
@ElzaDeSico
@ElzaDeSico Жыл бұрын
@@andrievskii так принято, только когда нужно наследование, а тут его нет. Они тут явно лишние
@vadiculus5892
@vadiculus5892 4 жыл бұрын
люди я не понимаю что такое self и __init__ напишите мне пж
@Lisa-yf5vn
@Lisa-yf5vn 4 жыл бұрын
посмотри предыдущий урок в этом плейлисте, там про них рассказывают)
@ovilord6883
@ovilord6883 5 жыл бұрын
контент полностью скопирован с книги "Изучаем Python" даже примеры оттуда же
@andrievskii
@andrievskii 5 жыл бұрын
И?
@maksymkravets2608
@maksymkravets2608 5 жыл бұрын
@@andrievskii и указывать надо, что вы сделали видео по книге
@dmutros78
@dmutros78 3 жыл бұрын
@@maksymkravets2608 Пиши Навальному пусть разоблачение делает.
@АртемПархоменко-й5я
@АртемПархоменко-й5я 2 жыл бұрын
хочу АУДЮ РСКью7 в кОрбане
@a12d14
@a12d14 2 жыл бұрын
Готов утонуть в вашей критике задание со звездочкой) Где и как лучше сделать? from Tools.scripts.texi2html import increment from pickle import NONE class log(): def __init__(self,login,password): self.login=login self.password=password self.inilizate=0 def start_aut(self,km): self.inilizate=self.inilizate+km def autentification(self): print('login?') self.login=input() print('password?') self.password=input() self.inilizate+=1 def printaut(self): print('login: '+self.login+'; password:'+self.password+'; vhodov: '+str(self.inilizate)) def unlogin(self): self.login=None self.password=None self.inilizate=None new = log(None,None) print('bili li vi ranshe?') b=input() if b=='yes': print('skolko_raz?') b=input() new.start_aut(int(b)) new.autentification() new.printaut() new.unlogin()
Курс Python 3 | Классы, наследование
30:05
Андрей Андриевский
Рет қаралды 32 М.
Курс Python 3 | Работа с JSON
36:12
Андрей Андриевский
Рет қаралды 29 М.
Бенчик, пора купаться! 🛁 #бенчик #арти #симбочка
00:34
Симбочка Пимпочка
Рет қаралды 4 МЛН
小丑揭穿坏人的阴谋 #小丑 #天使 #shorts
00:35
好人小丑
Рет қаралды 22 МЛН
Это было очень близко...
00:10
Аришнев
Рет қаралды 6 МЛН
🕊️Valera🕊️
00:34
DO$HIK
Рет қаралды 16 МЛН
Курс Python 3 | Импортирование классов
18:04
Андрей Андриевский
Рет қаралды 15 М.
Курс Python 3 | Тестирование в Python
35:38
Андрей Андриевский
Рет қаралды 27 М.
Python VS С# | Согласен / Не согласен
14:27
Технологии в Контуре
Рет қаралды 54 М.
Программисты-самоучки... Слушайте внимательно.
22:45
Евгений Афанасьев
Рет қаралды 114 М.
Курс Python 3 | Классы, ООП
25:46
Андрей Андриевский
Рет қаралды 142 М.
Бенчик, пора купаться! 🛁 #бенчик #арти #симбочка
00:34
Симбочка Пимпочка
Рет қаралды 4 МЛН