Ох, огромный объём, который нужно запомнить. Адовая музыка в конце урока, тому подтверждение тутутутуту* Спасибо за ваш труд, очень информативно и полезно.
Спасибо! Поглощаю уроки пачками. Действительно просто. Я ещё раньше не любил и не хотел учить питон за динамическую типизацию. Оказывается, это удобно. Тем более с таким учителем
почему у разного рода словоблудов которые учат выучить язык за час сотни тысяч просмотров а у настоящего Учителя так мало подписчиков и просмотров?((((
Такой вопрос, часть функций пишутся x.func(), где x это "объект" на которым работает функция, а часть функция работают так func(x), насколько я понял первый вариант не будет работать при записи по второму варианту? И как отличить один вариант записи от второй, или просто надо запоминать?
Первый вариант называется вызовом метода, а второй - вызов функции. Методы привязаны к объекту и, как правило, что-то делают с этим объектом. Ну а какие существуют методы и функции, конечно, нужно запоминать.
Спасибо большое. Где- то прочитал что пайтон это как океан, сначала идешь себе по шельфу, все понятно вроде и ясно, а потом резко глубина в несколько километров))) Почему когда к str применяешь метод(upper, lower) пайтон создает новый объект, отличающийся от первоначального соответственно методу. А при применении title изменяется существующий объект. Ведь объект str неизменяемый?
У вас призвание преподавателя! Или вы очень тщательно подбираете материал. Всем бы учителям курсов программирования брать с вас пример. Учителя умные, знающие, но преподнести так грамотно материал не у всех получается.
Есть ньюанс, не стоит полагаться на isalpha() isdigit() в реальных задачах, т.к. они обходятся юникодом. А значит эти методы лучше вообще не использовать )
@@Younoski Полезно на одну и ту-же тему смотреть уроки у разных людей ну и читать официальную документацию. Все подходят к подаче материала по разному, это даёт в итоге больший обзор. Ну и гуглить тоже полезно, чтоб увидеть примеры, понять ньюансы. Кстати в новых версиях питон подобные "уязвимости" вроде поправили, но это не точно. Юникод ещё долго будет проблемным. Не не поправили, к примеру берём цифру 𝟺 (U+1D7FA), isdigit() говорит, что это цифра, но при попытке присвоить переменной или сделать какую арифметическую операцию выскакивает ошибка, т.к. питон её воспринимает строчной.
Добрый день! Спасибо за ваш курс, смотрю здесь, прохожу на степике. Есть одна непонятная вещь с методами join и split: почему в случае с функцией split в скобках стоит разделитель, а в join - название строки? Почему нельзя сделать по аналогии с другими методами: a.join(',')
Дело в том, что join - это метод строк, а на входе он получает список, который нужно объединить. В вашем примере a.join(',') переменная a должна вести на какую-либо коллекцию, т.е. join уже перестает быть методом строк и у всех коллекций нужно предусмотреть метод join, что неудобно. Поэтому, наверное, так и сделали.
@@selfedu_rus спасибо за такой быстрый ответ. Я изучаю Питон не так давно, но уже сейчас возникло желание как-то обобщить пройденные темы - например, строки, списки. Понять логику решения программ. Возможно, вопрос в простом переходе количества в качество и недостающем опыте... в общем, пока что во время решения задач я пишу код (как он должен выглядеть по моему представлению), а потом перебираю разные варианты если получается ошибка (скобки, методы, join, split...). До конца сам не понимаю что делаю, просто тупо тестирую до тех пор пока не получится нудный вариант. Например, если вместо разбития строки по словам ('Я', 'люблю', 'Питон') получается такой вариант: 'я' ' л' , ю', 'б', 'л', 'ю'... и т.д. я переставляю разные элементы синтаксиса, действуя скорее наощупь, чем с помощью знаний. Вопросы в связи с этим такие: - умение достигается чисто за счет повторения? или можно как-то постичь логику решения задач? - есть ли какие-то материалы (курсы, таблицы... что угодно) где обобщена логика решения? методы, функции, их реализация? после чего можно будет сразу понять, для какой цели какие методы решения нужны. Надеюсь, что мой вопрос понятен, несмотря на некоторую сумбурность. Очень интересует ваше мнение по этому поводу.
Добрый день. Отличные уроки. Добавьте в ваш профиль ссылку на рутуб. И кстати сейчас есть специальная функция переноса контента с ютуба на рутуб. За раз можно перенести до 2000 видео
То что они работают только в консоле это так и должно быть? или почему эти методы не работают? a = 'upper' a.upper() вывод: не чего Еще пример a = 'upper' a.upper() print(a) вывод: upper
Добрый день! Сергей, а можно получить ваше фирменное, понятное объяснение, почему первый вариант не работает? Ошибка: AttributeError: 'str' object has no attribute 'len' text = 'Hello world' print(text.strip().len()) # не работает print(text.strip().__len__()) # работает Одно из объяснений ниже, но я пока всё равно не могу понять. "Потому что в пайтоне нет у строк именно метода .len(). Есть метод __len__(), и он как раз вызывается с помощью функции len()"
Это уже в области ООП. По простому, как могу, строка - это объект (класса str). К этому классу можно применить функцию len(text), которая автоматически вызовет магический метод __len__() объекта text и вернет длину строки. Вы во втором случае напрямую его и вызываете. Но это не очень хорошо, т.к. для этого предусмотрена унифицированная функция len(). Напрямую text.len() вызвать для строки не получится, т.к. метода len внутри объекта text (и класса str) нет.
@@selfedu_rus Довольно сложно так учиться без живого учителя, который бы так объяснял нюансы, но конечно спасибо вам огромное за такой курс, пытаюсь разобраться вот)
В методе (в отличие от индексов в []) можно передавать и большие значения. Сам count() отследит, если индекс будет превышать длину строки, то дальше поиск не пойдет.
Сейчас есть возможность делать аудио и видео под любого желаемого,нужного человека. Так что не обольщайтесь.И команда есть думаю, думаю человек 12 с половиной. Но всё равно молодцы!
можно спросить где подробно узнать про true или false везде говорят булево значение. может я один тупой но я этого не догоняю. Я мате стику не знаю от слова совсем. Помню толь ко до 3 класса 5#класс как пошли все эти синусы в 2002 нихрена не воткнул.
Интересно почему id при применении разных методов одинаковые... s = "что-то" print(s) print(id(s)) s.upper() print(s.upper()) print(id(s.upper())) s.lower() print(s.lower()) print(id(s.lower())) в консоли: что-то 2920324846640 ЧТО-ТО 2920326571760 что-то 2920326571760
самый лучший канал с самыми лучшими объяснениями!!!
У вас удивительный талант, объяснять легко и просто. Не бросайте это.
Уже строки знаю идеально!
Но.
Как дань уважения, отличному учителю, обязан выразить и почтение и уважение.
Спасибо)
всі 80 методів?
Не перестаю удивляться качеству ваших курсов. Спасибо Вам
Моё подчтение!
Ох, огромный объём, который нужно запомнить. Адовая музыка в конце урока, тому подтверждение тутутутуту* Спасибо за ваш труд, очень информативно и полезно.
Здорово, так разжевать и объяснить нужно уметь. Спасибо
Господи, спасибо тебе за такого прекрасного преподавателя!!! Все по полочкам и четко. Сергей, я теперь ваша фанатка🤘
Буду ждать с нетерпением следующий занятие! Подача максимально доходчиво.
Сергей, спасибо Вам! Как всегда с большим удовольствием изучаю и впитываю Ваши курсы. ❤❤❤
Огромное спасибо!Прохожу курс,но там объясняют мало,а задания сразу сложные.Благодаря Вам смог разобрать и понять тему
Сергей здорово рассказываете, спасибо
Спасибо Вам большое! Лучше, чем Вы этот материал преподнести просто невозможно!
Огромная Благодарность автору курса !
10 урок слишком объемный, приходится , в отличии от остальных уроков, пересматривать …
Спасибо Вам за понятное и простое объяснение данной темы!
Добрый день. Все понятно и доступно. Спасибо за ваш труд!
Благодарю вас. Вы самый лучший учитель. Этот ролик и автор очень доступно объясняет. Такого я ещё не встречал. ТОП.
Интересные уроки! Спасибо вам!
Моя голова "бо-бо" от этого урока .🙃🐳🐦🌪️
Спасибо! Поглощаю уроки пачками. Действительно просто. Я ещё раньше не любил и не хотел учить питон за динамическую типизацию. Оказывается, это удобно. Тем более с таким учителем
Люблю ваши понятные лекции, спасибо
10 видео подряд на одном дыхании!!! и все понятно! Благодарю!
безграничная благодарность автору ❤
Спасибо офигенно
Гениально и просто. Преподаватель с Большой Буквы
Отличное объяснение, очень доступно и наглядно!!!!
Спасибо за урок!
топ
Круто спасибо за урок, весьма познавательный
Очень грамотные объяснения и довольно понятные.😏
Ты лучший, но hello воральд - это нечто :D
Спасибо! 👍👍👍👍👍
Лучший!
почему у разного рода словоблудов которые учат выучить язык за час сотни тысяч просмотров а у настоящего Учителя так мало подписчиков и просмотров?((((
люди ленивые
Прекрасно, спасибо!
Такой вопрос, часть функций пишутся x.func(), где x это "объект" на которым работает функция, а часть функция работают так func(x), насколько я понял первый вариант не будет работать при записи по второму варианту? И как отличить один вариант записи от второй, или просто надо запоминать?
Первый вариант называется вызовом метода, а второй - вызов функции. Методы привязаны к объекту и, как правило, что-то делают с этим объектом. Ну а какие существуют методы и функции, конечно, нужно запоминать.
Благодарю вас!
Длинный коооооооммеееннннттттт для продвижения ккккккаааааааааааанннннннннннннаааааааааллллллллллллааааааааааа и Лайк обязательно
Классный урок!
спасибо очень наглядно
Здравствуйте...отличные уроки! А как посчитать например все 'аб' или убрать все 'аб'...именно все 'а' и 'б', а не только если они идут в этом порядке?
"Самообразователь"-рулит
Очень нравятся ваши ролики, спасибо. Скажите сколько времени занимает у Вас подготовка одного ролика? Качество и количество их поражает.
Спасибо! 4-6 часов при знании материала.
@@selfedu_rusспасибо вам
спасибо
Не до конца понимаю работу метода replace(). Если ранее говорилось что str имеет неизменимый тип даных, то каким образом мы меняем значение
супер ;-* Спасибо
Спасибо. "ущербный метод" - топ)))
в некоторых случаях console-ый вариант представления урока сбивает с толку, вид вывод. На пример split и join , ... будут кавычки или нет , а запятые?
Спасибо большое. Где- то прочитал что пайтон это как океан, сначала идешь себе по шельфу, все понятно вроде и ясно, а потом резко глубина в несколько километров))) Почему когда к str применяешь метод(upper, lower) пайтон создает новый объект, отличающийся от первоначального соответственно методу. А при применении title изменяется существующий объект. Ведь объект str неизменяемый?
Нет, я не прав был, title также создает новый объект
У вас призвание преподавателя! Или вы очень тщательно подбираете материал. Всем бы учителям курсов программирования брать с вас пример.
Учителя умные, знающие, но преподнести так грамотно материал не у всех получается.
👍👍
Есть ньюанс, не стоит полагаться на isalpha() isdigit() в реальных задачах, т.к. они обходятся юникодом.
А значит эти методы лучше вообще не использовать )
Откуда такие скилы на 10 уроке?Ты повторяешь теорию?
@@Younoski Полезно на одну и ту-же тему смотреть уроки у разных людей ну и читать официальную документацию. Все подходят к подаче материала по разному, это даёт в итоге больший обзор. Ну и гуглить тоже полезно, чтоб увидеть примеры, понять ньюансы.
Кстати в новых версиях питон подобные "уязвимости" вроде поправили, но это не точно. Юникод ещё долго будет проблемным.
Не не поправили, к примеру берём цифру 𝟺 (U+1D7FA), isdigit() говорит, что это цифра, но при попытке присвоить переменной или сделать какую арифметическую операцию выскакивает ошибка, т.к. питон её воспринимает строчной.
Добрый день! Спасибо за ваш курс, смотрю здесь, прохожу на степике.
Есть одна непонятная вещь с методами join и split: почему в случае с функцией split в скобках стоит разделитель, а в join - название строки?
Почему нельзя сделать по аналогии с другими методами: a.join(',')
Дело в том, что join - это метод строк, а на входе он получает список, который нужно объединить. В вашем примере a.join(',') переменная a должна вести на какую-либо коллекцию, т.е. join уже перестает быть методом строк и у всех коллекций нужно предусмотреть метод join, что неудобно. Поэтому, наверное, так и сделали.
@@selfedu_rus спасибо за такой быстрый ответ.
Я изучаю Питон не так давно, но уже сейчас возникло желание как-то обобщить пройденные темы - например, строки, списки. Понять логику решения программ.
Возможно, вопрос в простом переходе количества в качество и недостающем опыте... в общем, пока что во время решения задач я пишу код (как он должен выглядеть по моему представлению), а потом перебираю разные варианты если получается ошибка (скобки, методы, join, split...). До конца сам не понимаю что делаю, просто тупо тестирую до тех пор пока не получится нудный вариант.
Например, если вместо разбития строки по словам ('Я', 'люблю', 'Питон') получается такой вариант: 'я' ' л' , ю', 'б', 'л', 'ю'... и т.д. я переставляю разные элементы синтаксиса, действуя скорее наощупь, чем с помощью знаний.
Вопросы в связи с этим такие:
- умение достигается чисто за счет повторения? или можно как-то постичь логику решения задач?
- есть ли какие-то материалы (курсы, таблицы... что угодно) где обобщена логика решения? методы, функции, их реализация? после чего можно будет сразу понять, для какой цели какие методы решения нужны.
Надеюсь, что мой вопрос понятен, несмотря на некоторую сумбурность.
Очень интересует ваше мнение по этому поводу.
Добрый день. Отличные уроки. Добавьте в ваш профиль ссылку на рутуб. И кстати сейчас есть специальная функция переноса контента с ютуба на рутуб. За раз можно перенести до 2000 видео
Спасибо! Уже воспользовался этой функцией. За неделю перенесли 100 видео )) Такими темпами потребуется несколько месяцев ((
Дякую.)
То что они работают только в консоле это так и должно быть?
или почему эти методы не работают?
a = 'upper'
a.upper()
вывод: не чего
Еще пример
a = 'upper'
a.upper()
print(a)
вывод: upper
Дошло)
Подскажите, пожалуйста, ранее говорили о неизменности строк. Но методом replace легко меняются символы в той же строке. Как это согласуется?
метод replace формирует и возвращает новую измененную строку
@@selfedu_rus Спасибо, понятно. И это подтверждается новым id.
@@evgeniyacteck6779 id остается таким же
пацаны, стойте, я не успеваю лайкать ваши комменты
Такую информацию сложно помнить долго если не работаешь с этим постоянно :(
🙏🙏🙏💪🦾 Merci
Like!
20:07 - 20:15
Таблица
Добрый день! Сергей, а можно получить ваше фирменное, понятное объяснение, почему первый вариант не работает? Ошибка: AttributeError: 'str' object has no attribute 'len'
text = 'Hello world'
print(text.strip().len()) # не работает
print(text.strip().__len__()) # работает
Одно из объяснений ниже, но я пока всё равно не могу понять.
"Потому что в пайтоне нет у строк именно метода .len(). Есть метод __len__(), и он как раз вызывается с помощью функции len()"
Это уже в области ООП. По простому, как могу, строка - это объект (класса str). К этому классу можно применить функцию len(text), которая автоматически вызовет магический метод __len__() объекта text и вернет длину строки. Вы во втором случае напрямую его и вызываете. Но это не очень хорошо, т.к. для этого предусмотрена унифицированная функция len(). Напрямую text.len() вызвать для строки не получится, т.к. метода len внутри объекта text (и класса str) нет.
@@selfedu_rus спасибо, вроде въезжаю)
16:25 как это список без запятых и пробелов, если и пробелы и запятые я вижу?)
в полученных строковых фрагментах нет ни пробелов ни запятых
@@selfedu_rus Довольно сложно так учиться без живого учителя, который бы так объяснял нюансы, но конечно спасибо вам огромное за такой курс, пытаюсь разобраться вот)
Здравствуйте, скажите пожалуйста как переходить на здания с практикой сразу по этому уроку?
Курс здесь: stepik.org/course/100707/
@@selfedu_rus это именно то, что я искал...
А где искать практические занятия?
здравствуйте, вроде на степике есть, но я использую codewars, есть еще leet code, но он посложнее будет
16: 00 Все можна было сделать одним методом split() без параметров потому что это разное split(' ') и split()
Почему в примере о join не использовать replace, вместо join + split?
если будет несколько пробелов (а не один), то придется прописывать несколько replace
6:22 в прошлом уроке нельзя было задавать индекс которого не существует, тут теперь можно?
В методе (в отличие от индексов в []) можно передавать и большие значения. Сам count() отследит, если индекс будет превышать длину строки, то дальше поиск не пойдет.
👏👍
что значит maxsplit=-1 в методе split?
бесконечное число разбиений
16:24
5:16. Где же квадратные скобки? Они не нужны?
там функция вызывается, поэтому круглые
Сейчас есть возможность делать аудио и видео под любого желаемого,нужного человека. Так что не обольщайтесь.И команда есть думаю, думаю человек 12 с половиной. Но всё равно молодцы!
один человек - вся команда )
... Только не "малые буквы", а "строчные буквы". Так они называются.
С ужасом представляю что будет в заданиях
а где можна практиковать это?
ссыока под видео
14:59 не работает exit result 0
можно спросить где подробно узнать про true или false везде говорят булево значение. может я один тупой но я этого не догоняю. Я мате стику не знаю от слова совсем. Помню толь ко до 3 класса 5#класс как пошли все эти синусы в 2002 нихрена не воткнул.
вопрос в телеграм-канал (ссылка под видео), там вам на пальцах все разьяснят!
9:08 за что так жестоко?(
Иногда у меня команда считает первый индекс включительно иногда не включительно
"Возвращает"...
Что же это такое?.. 🤔
ничего не понял(((
Интересно почему id при применении разных методов одинаковые...
s = "что-то"
print(s)
print(id(s))
s.upper()
print(s.upper())
print(id(s.upper()))
s.lower()
print(s.lower())
print(id(s.lower()))
в консоли:
что-то
2920324846640
ЧТО-ТО
2920326571760
что-то
2920326571760