Красавчик. Те кто шарит и так всё поняли, а для тех кто не шарит и считает себя шибко умными - вот и повылазили. Претензий нет)
@programisli2 жыл бұрын
Про токсичность тоже хорошо сказал. Люди вместо дискусии переходят на токсичность не просто так. Но даже если у человека все норм, у него могут быть дни, когда эмоции берут верх. Это софт скил, над которым нужно работать. Негативные эмоции ухудшают состояние, а положительные делают жизнь лучше.
@evgenyzakiev6932 жыл бұрын
Недавно начал смотреть канал Алексея. Блин, отличная подача материала, грамотно, юмористично. А самое главное, на мой взгляд, позитивно! Леха - ты молодец 👍 Спасибо за твой канал🤝
@t0digital2 жыл бұрын
Спасибооо:)!
@programisli2 жыл бұрын
Я увидел твое видео с вызывающим заголовком когда записывал свой видос про каналы, которые смотрю. Я ничего смертельного не вижу с том, что ты говоришь, что это не переменные, потому что действительно они технически работают по другому. Хотя я все же считаю, что это переменные, просто это immutable data types и такие есть в C# или Java (строки) и там они тоже переменные. Я НЕ вижу криминала и считаю, что заявление о том, что в Python нет переменных имеет право на жизнь и видео классное, потому что основная идея не в том, как называть это - переменные, недопеременные, а в том, как это работает в Python, а это очень важно понимать.
@t0digital2 жыл бұрын
Спасибо, Михаил!
@slavamogus31872 жыл бұрын
По факту это всего лишь ссылки на ячейки памяти где хранятся литералы, это обсалютно другие вещи, это то же самое что сказать агл слова beach и bich это одно и тоже лишь потому что они звучат одинаково, это бренд
@programisli2 жыл бұрын
@@slavamogus3187 С точки зрения хранения это верно. Но ведь ссылка тоже сохраняется где-то и вот тут можно увидеть разные версии определения - это ссылка, это ссылочная переменная... Леша придерживается мнения, что это просто ссылка. Верно или нет? Верно с точки зрения тех, кто любит просто говорить ссылка и неверно с точки зрения с тех, кто считает это ссылочной переменной. Это все халивар, который не так важен, потому что я считаю, что самое главное понимать, как это работает. Если человек понимает, что в Python даже простое изменение числовой переменной приводит к выделению новой памяти, то это чудеса безопасности, но проблемы производительности. Можно долго спорить, как это правильно назвать, важнее знать, как это работает.
@knarg46829 ай бұрын
@@programisli > это ссылка, это ссылочная переменная.. Внури списка перечислены... чтобы два раза не вставать, несколько созданных объектов "поток". Имён у них вообще нет. А ссылки от коллекции "список" -- есть. Неважно от чего, хоть от литерала, хоть от чёрта лысого, факт в том, что это просто "адреса", а не контейнеры.
@ИльяЧерепанов-в8к2 жыл бұрын
Круто! Спасибо за информацию, очень помогает понимать, как всё работает на глубоком уровне. Отдельно радует повышение уровня съёмки и монтажа ;)
@mrm1tn1ck2 жыл бұрын
Про "переменные" знал, так как учил работу памяти, но всегда приятно послушать грамотного человека. Лайк и спасибо.
@ТимурПавлов-ж4ы2 жыл бұрын
Крутейший видос! Это самое лучшее начало видоса, которое видел!
@alexeynikolaevskiy59222 жыл бұрын
Чуствовал подвох, но досмотрел. )) Спасибо за цитаты. И вообще, за короткие, без "воды", но инфомативные ролики по теме. Вы реально экономите нам, учащимся, наше время!
@user-xx6wh5nm4s2 жыл бұрын
Фига, что происходит)) Канал на стадии активного обсуждения - желаю ракетного взлёта! А знания, компетенции и ценности - и так присутствуют) Приятно слушать автора!)
@НиязРустемов-р3ц2 жыл бұрын
Автор сумел поднять активность в комментах? Молодец. В наше время это не просто сделать.
@user-xx6wh5nm4s2 жыл бұрын
@@НиязРустемов-р3ц главное - что сделал)
@НиязРустемов-р3ц2 жыл бұрын
@@user-xx6wh5nm4s надо будет учиться у него этому.
@ИванИванов-е3н6й2 жыл бұрын
Спасибо за видео. Вообще информатика нас учит, что объекты можно передавать либо по значению, либо по ссылке. Если по ссылке, объект не копируется а передается ссылка на его место в памяти, если по значению - объект копируется и передается. Ваш пример из си - это передача по значению. Си умеет и по ссылке передавать. Так что глобально есть языки, где можно и по ссылке и по значению (С, Java), а есть где только по ссылке (Python). Как по мне, каждый язык в праве называть свои конструкции как хочется его создателям, главное чтобы все было формализовано.
@Uni-Coder2 жыл бұрын
В общем, есть две терминологии: "переменная (в том числе и указатели)" и "имя-объект-связывание". Обе хороши. Я об этом тоже планировал рассказать, хотя не скоро.
@alexeis6282 жыл бұрын
Момент 5:56 - в Питоне мы присвоили Петру ссылку на Алекса (Вы же в прошлом видео про ссылки и рассказывали), и потом через Петра изменили возраст Алекса в Си: чтобы присвоить указатель на переменную, надо сделать это явно (через *). Поэтому структура Man скопировалась при присваивании petr = alex; Эти две структуры стали независимы друг от друга, а в Питоне остался лишь один объект Момент 6:38 - "новый термин" - просто нужно говорить о ссылочных переменных
@Winexoid2 жыл бұрын
у меня вопрос - а законно ли в C делать struct = struct? давно не кодил и появились сомнения - будет ли авто-вызов python-like .deep_copy() в C99+? что там в стандартах, что в gcc? хотелось бы подтвердить - просто копировал всегда memcpy(), т.к. знал что присвоение только для простых типов, а для структур нужна копи-паста (да, совсем old-style)
@ГригорийСтепанов-ы3ц Жыл бұрын
Такой же вопрос задал автору. Он вводит людей в заблуждение .
@emmanuelgoldstein90792 жыл бұрын
Я после Си на Питон через Лутца пришел. Как раз у Лутца узнал, что это всё указатели и жить сразу стало легче )
@mr.nobody89482 жыл бұрын
Ребята, давайте жить дружно! Не будем ссориться из-за переменных. Лучше вместе сплотимся против общего врага - PHP))
@leosv02 жыл бұрын
Да, хорошо бы питон заменил пыху!
@ДмитрийАверьянов-щ4г2 жыл бұрын
@@leosv0 Дак потихоньку заменяет, раньше все над пхпэшниками прикалывались, а сейчас над питонистами))
@leosv02 жыл бұрын
@@ДмитрийАверьянов-щ4г есть такое🙂
@46877782 жыл бұрын
Очень удивлен, что есть на канале люди, которые не поняли отличий из прошлого видео и стали лить грязь... Еще раз спасибо за контент, мне всегда интересно смотреть ролики и я всегда нахожу для себя что-то новенькое :)
@computercomputer32932 жыл бұрын
Очень удивлен, что люди умеющие читать доки, не умеют анализировать информацию
@itreactor38642 жыл бұрын
очень удивлен, что до сих пор переменные не могут сами себя инициализировать
@dimr50012 жыл бұрын
Советую разобраться как в с\с++ работают ссылки и указатели. И тогда вы поймете почему в пайтонне есть переменные. Только реализация у них отличается, что бы скрыт всю трахомотину с указателями для упрощения.
@computercomputer32932 жыл бұрын
@@kirillgimranov4943 анализ информации. Посмотрите, что это. Из чего строится, как происходит, из чего состоит понимание
@computercomputer32932 жыл бұрын
@@kirillgimranov4943 и еще. Вы невнимательно смотрели первое видео. Там четко оговаривалось о каком виде переменных идет речь, о переменных в виде отдельных "коробочек". Вот таких переменных в пайтон и нет, о чем и был разговор, поэтому все претензии смотрятся очень странно и нелепо, и наводит на мысль о большой невнимательности при просмотре
@udacha1632 жыл бұрын
госпади)) Алексей, да не стоит обращать внимание на хайп! контент толковый и объясняешь всегда доступно.
@Антон-з7т7ь2 жыл бұрын
Спасибо за труды, у Вас отличный канал, было бы здорово еслиб вы снова запустили свой курс, я не успел на него попасть к сожалению.
@IshuckShow2 жыл бұрын
Крутой видос, хорошо объяснил, всё по полочкам, за книгу отдельное спасибо, не читал Ps: жду стрим на 100к, прошлый стрим был очень ламповый
@Vorono4ka2 жыл бұрын
блин, совет мне кажется очень полезный, спасибо большое, прислушаюсь!
@S34248682 жыл бұрын
Я не программист, я любитель, балуюсь для себя. Но я понял всё, что говорилось в прошлом видео и по большей части уже знал, как это работает, а видео просто рассказало детально. Если уж я понял, что ж там за люди, что кипишь подняли
@ВикторОсипов-ю3ю2 жыл бұрын
Клёвый ответ! Питон под покровом простоты скрывает очень развитые вещи, свойственные традиционно более «сложным» языкам типа csharp и java, и, к сожалению, понимание этого приходит не сразу. Лишний раз убеждаюсь, что нужно изучать тему лучше и с разных сторон, чтоб понимать картину в целом. Удачи и процветания, жду ещё видосов!
@HSGRSHKI2 жыл бұрын
Представляю глаза людей, пишущих что все изменяемые значения = переменные, когда они придут в Си/Си++ с поинтерами, рефами и переменными
@donfedor0072 жыл бұрын
Видео огонь! И познавательно и с юмором! Автор молодец 💪👍спасибо Вам за Вашу работу👍
@t0digital2 жыл бұрын
Спасибо:)!
@donfedor0072 жыл бұрын
@@t0digital пожалуйста 👍
@mikisor43722 жыл бұрын
Спасибо за труд! Ждем новых видео !
@ВасилийСеребрянников-з5в2 жыл бұрын
Алексей, спасибо вам за ваши видео, смотрю их довольно часто, много нового для себя узнаю! Про токсичность тоже интересно, будем надеяться что таких людей будет намного меньше в будущем))
@iliag70682 жыл бұрын
Действительно, суть предыдущего видео ведь в том, чтобы донести до коллег то, как работает этот механизм под капотом, а не в объявлении войны понятию "переменная" в Python. Думаю, и сам Алексей продолжит использовать это определение) Но есть такие люди, которым нужно потешить своё "я")
@chu_ri54702 жыл бұрын
@@IvanIvanov-wn7ep скорее речь идёт о синдроме утёнка. После того как узнаёшь пять шесть способов организации памяти, подобное выветривается.
@АнтонинаСмет2 жыл бұрын
Спасибо, приятно слушать и смотреть, лайк, как всегда!
@Laertid2 жыл бұрын
Когда в видео про программирование добавляется минутка про самоанализ - это круто ^_^ Давай серию роликов "Самоанализ как самотестирование" с методами из программирования применительно к психологии :) (вдруг это возможно связать? О_О Я не знаю, но было бы забавно...) Как вариант - хотя бы 1 штуку на первое апреля)
@leonidzimin24192 жыл бұрын
+ Марк Лутц, Изучаем python, гл. 6, п. Переменные, объекты и ссылки(стр.195), всё подробно описано, в принципе, тоже самое что и было сказано в прошлом видео. Да думаю, в большинстве книг по python, этот момент поднимается. Удивительно, что на ровном месте возникают такие конфликты.
@cyberblogru2 жыл бұрын
Я это проходил еще в самом начале, когда изучал пайтон. Но все же все равно всегда говорю "переменные", так как это by design по спецификации языка. Если я скажу "Я создал переменную" меня поймет больше людей, чем если я скажу "Я создал ссылку". А язык (разговорный всмысле) я использую, чтобы меня мог понять другой человек в первую очередь. И я ОЧЕНЬ надеюсь, что благодаря тебе в мире не родятся токсики, которые будут душнить каждый раз, когда услышат слово "переменная"))
@leosv02 жыл бұрын
Да, я тоже это в самом начале узнал. У Хирьянова в первой лекции по алгоритмам на питоне.
@Alina-nq9nw2 жыл бұрын
Здравствуйте! Как у вас продвигается изучение RUST? Было бы интересно какое-то видео, ориентированное на изучающих. О том как погружаться в язык, или что-то интересненькое другое.
@vanadoo58362 жыл бұрын
А константы - тоже ссылки же? Как и обычные питоновские переменные? И их также можно переприсваивать в каждой новой строчке?
@kizik852 жыл бұрын
Подписался на канал! Красавчик! Хорошо объясняешь!!! Продолжай в том же духе!!!
@i17talk82 жыл бұрын
смотрел предыдущее видео и думал, когда же будет следующее? :) В общем, просто вопрос терминологии. Кто знает, как работает, тому не важно, как это называется, переменная, референс, ссылка, указатель, ключ хэш-массива... Всё равно при кодинге вероятно будут применять привычные другим языкам шаблоны. Для этого, собственно, синтаксис переменных и оставили. Удобно же. Ну и + patch в мозгу для особенностей трансляции языка.
@AlexDanov2 жыл бұрын
С точки зрения, например C#, в примере сравниваются в Python Reference Type (копируется ссылка), а в Си Values Type (копируется значение). Пример не зачтён ) Оба эти примера с аналогичным поведением можно реализовать в C#. Просто у ПЕРЕМЕННЫХ типы разные! )
@repgrid29862 жыл бұрын
В C# будет ли переменная reference type или value type зависит от её типа. В C reference type можно задать для любого типа явно через * (например, int * a). А в Python, как понимаю, именно value type и нет, все переменные - reference type
@AlexDanov2 жыл бұрын
@@repgrid2986 да, в Python нет Value Type совсем. И договорились до того, что нет переменных, а только имена. Впрочем, как Алексей писал в комментариях, во многих языках вводят свою терминологию, отличную от принятой. Переживём ) В конце концов, разработка новых языков движется в сторону новых смыслов. Можно понять и просить. Python достаточно своеобразный язык.
@repgrid29862 жыл бұрын
@@AlexDanov но кстати, разве семаниически что-то меняется от того, используем ли как в питоне ссылку на объект хранящий число 3 (или любой другой объект неизменяемого типа) или value type переменную, содержащую это значение внутри себя, как в других языках? Мне кажется пример, где будет принципиально разное поведение, сложно придумать (если вообще возможно), нет?
@AlexDanov2 жыл бұрын
@@repgrid2986 приведу исходник на C# 9, для демонстрации различия Reference/Value Types. Но alex и peter это переменные в терминологии C# using static System.Console; { var alex = new ManValueType(33); WriteLine(alex.Age); var peter = alex; alex.Age = 10; WriteLine($"Alex Age={alex.Age}, Peter Age={peter.Age}"); } { var alex = new ManClassType(33); WriteLine(alex.Age); var peter = alex; alex.Age = 10; WriteLine($"Alex Age={alex.Age}, Peter Age={peter.Age}"); } struct ManValueType { public ManValueType(int age) { this.Age = age; } public int Age; } class ManClassType { public ManClassType(int age) { this.Age = age; } public int Age; } Этот код выдаст на консоль: 33 Alex Age=10, Peter Age=33 33 Alex Age=10, Peter Age=10
@Сергей-с7е2к2 жыл бұрын
@@AlexDanov кажется, вы не поняли вопрос - я не про различие reference и value types для изменяемых типов, а про то, какие могут быть семантические различия для простых неизменяемых типов, таких как int, если их значения будут храниться в самой переменной, как в б-ве языков, или будет храниться ссылка на объект этого неизменяемого типа, как в питоне -- мне кажется пример, подрбный приведенному вами или Алексеем для этого случая не придумать, т.е семантического различия здесь нет, или ошибаюсь?
@ВасилийЛеонов-ч4ъ2 жыл бұрын
Так всё таки возвращаясь к стеку и куче, почему хранилище ссылок это стек? Там нет никакаго "последний на вход - первый на выход"
@romanryaboshtan9270 Жыл бұрын
5:58 интересно, что в javascript это работает также как в python, тоже ссылки и иммутабельность
@danielklimovoff2 жыл бұрын
я слышал что в питоне еще функции есть, но хз правда ли это
@t0digital2 жыл бұрын
Вопрос непростой и требует серьёзной проработки и исследования!
@Илья-р7ь9щ2 жыл бұрын
миф скорее всего
@palyaros022 жыл бұрын
Вообще в питоне всё - объект. "Функция" - это ссылка на объект, передающая или нет ссылки на аргументы (очень грубо говоря, тут надо поговорить про области видимости, глобальность и неявное копирование), и потом этот объект проводит какие-то вычисления и отдает ссылку на новый объект, либо изменяет состояние объекта(ов) по ссылке во время своей работы. Почитайте python docs, там все описано, что-то даже на русском
@hippie9992 жыл бұрын
@@t0digital +
@ДмитрийЙокоб-я2й2 жыл бұрын
Вроде как def нет
@libertycool89462 жыл бұрын
Спасибо тебе большое! Благодаря тебе понял как работает ссылочной модель в python и заодно переменные в других языках))
@igorantipov17352 жыл бұрын
Целых 11:08 потратил на объяснение очевидных вещей, всё для народа! P.S. Музыка - огонь! 😂
@PaulCherepnin2 жыл бұрын
Молодец! Уделал всех мамкиных теоретиков) другие, думали, поняли посыл и суть прошлого ролика
@IllIll..2 жыл бұрын
Да, Дмитрий, это действительно информация, которая может быть полезной. Если, что-то проще скрипта простенького пишешь, А эмоции - дело такое, да. Надо тренировать внимательность к тому, что у тебя внутри.
@CapTheFox2 жыл бұрын
Алексей, можно ли у вас узнать, что за модель микрофона вы используете, очень хороший звук в ваших роликах.
@t0digital2 жыл бұрын
Спасибо! В этом видео Rode NTG-3
@sergeyvolodeev56002 жыл бұрын
А почему в качестве примера были взяты класс в Python и структура в Си? Взяли бы там и там целые числа и продемонстрировали. Или на числах не получается?
@пашашевелёв-д9м2 жыл бұрын
Как сказать. Можно сделать видео, что в питоне или любом другом языке программировани нет циклов, потому что цикл в си и цикл в другом языке реализованы по разному)) корректнее было бы написать, что почему нужно аккуратно относться к переменным в питоне. Понятно что реализация под капотом может быть разной, но люди говорят переменная потому что это удобно, имеет много сокращений, проще проводить аналогии, упрощает код при чтении и тп. В целом я считаю что можно называть перменными, но при этом нужно разделять особенности ( понятно что есть люди которые занимаются различными грамматиками и разработкой компиляторов и они могут сказать, что это вообще не переменные, а что-то другое, в зависимости от контекста )
@Alcoholdehydrogenas Жыл бұрын
Я посмотрел уже 2 видео, но так и не понял есть ли в переменные в питоне?!
@t0digital Жыл бұрын
Непонятненько! Смотря что обозвать переменными:)
@Alcoholdehydrogenas Жыл бұрын
@@user-nl2sv8rr2f Спасибо за развернутый ответ.
@savir2 жыл бұрын
Лучшее объяснение и в прошлом видео и в этом. Респект!
@ampetelin2 жыл бұрын
Оу, я немного провтыкал с вопросом к предыдущему видео. С неизменяемыми типами данных всё понятно, вместо изменения данных в самой ячейке памяти, значение записывается в другую ячейку и наша "переменная" хранит уже ссылку на неё. А вот как дела обстоят со списками, я право, не до конца понял: если у нас есть список names = ['John'], к которому мы аппендим 'Jack', но сам список names ссылается всё также на первоначальную ячейку. Но ведь мы изменили содержимое списка, почему всё тот же адрес?
@SklerozRu2 жыл бұрын
Чет не понял, на 6:00, почему struct а не class, как в Python? Это троллинг такой? ))
@t0digital2 жыл бұрын
Это не Python код на 6:00
@akionka Жыл бұрын
потому что в Си нет классов наверное?
@sashasashovic912 жыл бұрын
Очень хорошое объяснение , жду ещё информации.
@_Romanin_2 жыл бұрын
3 года уже в Python и смотрел прошлый ролик, у меня проффесия программист и я не понимаю, что до тебя так доёбываються, ты всё сказал как есть, есть пару некорректровок, но они на столько незначительные, что я их не сразу заметил, а нет есть люди которые до этих мелочей доебались. Вообщем, не обращай внимания на этих "сведующих" и продолжай пилить свой годный контент! Удачи и терпения.
@luden67942 жыл бұрын
Всегда находятся недовольные
@sergeyalekseenko64562 жыл бұрын
Извинения размером с хвостик колибри. И да, я попался на кликбейт. Начал смотреть с мыслью: Как так обманул?! Всеж по факту в прошлом видео как есть рассказал!? Надо глянуть... Но 0:37 это ваще смертельное оружие и запрещённый прием. Спасибо, улучшил настроение перед сном. :DDD
@artur_tumasov2 жыл бұрын
Спасибо за информацию!
@МихаилМихайлов-б8т Жыл бұрын
Ну да, прочекайте, создайте "переменную" a и "переменную" б, которые имеют в себе объект 100, а далее посмотрите, сколько объектов ссылаются на это значение. И вы там обнаружите, что б ссылается на на 100, которое лежит в а, и а ссылается на 100(естественно).
@KrassRome2 жыл бұрын
Начало улыбнуло
@DimiEG2 жыл бұрын
В свете текущих событий как это отразилось на вашем бизнесе и планируете ли вы создать дополнительную площадку для своих видео? (Некоторые используют ещё Zen Yandex)
@t0digital2 жыл бұрын
Как отразится на нашем бизнесе пока до конца непонятно. Телеграм открою, да, сегодня будет видео о wireguard vpn
@markervictor2 жыл бұрын
Как кажется, вся соль в совершенно отличающейся механике оператора присваивания. В плюсах, c# и т.п. он кладёт какое-то значение в область памяти, на которую ссылается имя (ссылки просто обертка над присваиванием значения по указателю). В питоне же он буквально присваивает имя конкретному объекту (говорит интерпретатору, что теперь этот объект доступен по этому имени и добавляет +1 к счетчику ссылок объекта).
@markervictor2 жыл бұрын
Действительно сложно назвать связь имя -> объект переменной, скорее в питоне всюдо то, что где-то называют label
@markervictor2 жыл бұрын
Что-то еще задумался, на сколько вообще корректно в питоне называть = оператором присваивания. По факту это statement как import as ... . С точки зрения соответствия синтаксиса и реализации интерпретатора более корректно было бы использовать именно «10 as a» вместо «a = 10». Но это было бы значительное отличие от C-подобных языков. Отсюда и всё недопонимание...
@septembertakoito3142 жыл бұрын
Вступление топ - ждем номинацию на оскар.
@rockkley91592 жыл бұрын
Спасибо! Хороший вывод про эмоции
@AlexandrSpirit2 жыл бұрын
Новички в пайтоне, пока не сталкиваются с вопросом оптимизации кода в плане скорости и потребления ресурсов, могут не заморачиваться с терминалогией и не разбираться как оно там под капотом работает. Но как только встанет вопрос... тут сразу придется копать. Копать серьёзно.
@mafia2mpru2 жыл бұрын
Не знаю, как не понимая такие банальные вещи про язык, можно писать на нём. Это мой первый вопрос на собеседование
@victortarnovskiy84072 жыл бұрын
Не придумывай.
@pashamix2 жыл бұрын
Из примера в видео получается, что в python при присваивании мы присваиваем ссылку на объект. Меняем объект и он меняется во во всех переменных ссылающихся на него. А в языке С при присваивании мы создаем копию этого объекта?
@kookaburru2 жыл бұрын
Одно замечание собственно почему в питоне нет переменных как таковых это то что тип объекта хранится в самом объекте, а так называемая переменная всего лишь имя :)
@BeginBye2 жыл бұрын
Тут разница тонкая, и она касается именно реализации. Именно поэтому, чтобы подчеркнуть разницу механизмов, и названия их различны. Сейчас вот пытаюсь сформулировать эту разницу, и пришел к таким вот определениям, поправьте меня, если неправ. Классическая переменная - это верхнеуровневое наименование определенной области памяти, выделенной для хранения объекта. Ссылка (как в Пайтон) - это верхнеуровневое наименование самого объекта, находящегося в памяти по определенному адресу. Переменная - это имя "ящика", выделенного под определенный объект. При определении переменной, выделяется область памяти, необходимая для хранения объекта указанного типа (размер и конфигурация ящика). Когда мы обращаемся по имени переменной к объекту, мы по сути обращаемся к области памяти, которая его хранит. В Пайтоне несколько иначе. Тут имя переменной - это имя того, что находится внутри "ящика" - имя которое мы дали объекту. Когда мы обращаемся по имени переменной к объекту в Пайтон, мы обращаемся к самому объекту. При создании объекта, Пайтон определяет его тип (Duck Typing), выделяет в соответствии с ним область памяти, и привязывает к объекту, не к области памяти, указатель - имя, нашу "переменную". Сам же запоминает, куда он этот объект положил. Область памяти будет зарезервирована за этим объектом до тех пор, пока существует хотя бы один указатель на этот объект. Указателей не осталось - GC снял резерв с этой области, и ее снова можно использовать для записи. Используя механизм переменных, наш запрос, после ее определеня (создания "ящика") таков: дай мне содержимое вот того "ящика". Используя механизм ссылок, наш запрос таков: дай мне вот этот объект. В каком ящике он лежит - сам знаешь.
@ГригорийСтепанов-ы3ц Жыл бұрын
В первом случае присваиваются адреса, во втором копируются значения из одной структуры в другую . как это можно сравнивать ?
@t0digital Жыл бұрын
Можно сравнивать любым из доступных методов сравнения.
@denissavast2 жыл бұрын
Самый лучший канал ! Благодарю
@andrewbondaryuk2 жыл бұрын
Вообще даже в Си на уровне исходника есть именованная изменяемая область памяти, чтобы кожанным мешкам было удобно. При компиляции остаётся только адрес области.
@andrewbondaryuk2 жыл бұрын
@@IvanIvanov-wn7ep Потому что указатель это изменяемая область памяти ;)
@andrewbondaryuk2 жыл бұрын
@@IvanIvanov-wn7ep Это как?
@andrewbondaryuk2 жыл бұрын
@@IvanIvanov-wn7ep Вы сейчас про указатель в каком языке? 😀
@andrewbondaryuk2 жыл бұрын
@@IvanIvanov-wn7ep В Сях? Атрибут указателя? Чо?
@grannycola1582 жыл бұрын
Не помню, у Тимофея Харьянова слышал, что у языков программирования нет как таковых переменных (совсем под капотом), а есть только константы и функции.
@yunushkin882 жыл бұрын
Нет ну на собеседовании задавали такой вопрос - говорят тип что в питоне нет переменных как Вы можете это объяснить? Хотя начинал я собеседование по С++))
@OmgOrganic2 жыл бұрын
век живи- век учись. Невозможно взять все на свете :)
@sergefa58622 жыл бұрын
Variable произносится с ударением на первый слог.
@novichok3417 Жыл бұрын
Вы не можете отказаться от использования картонных коробок в программировании. Так и многие не могут отказаться от термина - переменная
@t0digital Жыл бұрын
Вы бы предпочли деревянные коробки? Целлофановые пакеты? Металлические шкафчики?
@nigvi62292 жыл бұрын
Во многих языках не редкость если передается по ссылке, но это не влияет на то что их называют переменными. Так же если не ошибаюсь примитивы в js все сохраняются по значению за исключением строк, но это не мешает им вести себя как обычные переменные. То есть у тебя есть тьма текста и ты копируешь содержимое и в памяти нет копии пока ты не изменишь ее в самой переменной, вот именно это реализация и на мой взгляд это не делает переменные со строкой не переменными в js. Я считаю что это тоже переменные но ссылочного типа. Если все начать делить на подтипы и назвать по разному то у нас DevOps профессий штук 50 будет как и паттернов или если в js нет типов то и паттернов тоже. Окей у нас будет у каждого языка свой SOLID, DRY и тд. ну а почему нет языки же разные как и переменные.
@JohnSmith-pb7cn2 жыл бұрын
Да, спасибо, интересные эффекты получаются: 1. Если создать переменную в функции, вывести её результатом в другую. При изменении 2-ой переменной мы меняем результат работы функции фактически. 2. Каждое присваивание константе - выделение нового блока памяти. Всё укладывается в ссылочный тип CPP.
@DrEl19852 жыл бұрын
Ну и зачем я это смотрел? Думал будет объяснение что переменные таки существуют, ан нет =) Справедливость и здравый смысл восторжествовали =)
@АлимарРамазанов-в3х2 жыл бұрын
Продолжай делать хороший качественный контент✊
@VladimirSalygin2 жыл бұрын
Ну этож классика. Как можно этого не знать и не понимать. Я не работаю с пайтон, но интересовался им как любой любознательный человек. И первое, что сразу зашло как должное - это то, что в языке все есть объект; переменная - просто тех.интерпритация для упрощения понимания; и то как эти объекты храняться в памяти и как это работает. А ведь те люди ониж работают, пишут и мало того зарабатывают...
@dimr50012 жыл бұрын
А переменная что такое ? Что с ней происходит после компиляции ?
@RebootSMR2 жыл бұрын
Улыбнуло, Спасибо)
@gatapov2 жыл бұрын
Немного не по теме, но хочется узнать мнение: нужно ли писать аннотации к переменным и функциям? Как Вы к этому относитесь? Нужно ли писать во всем коде?
@t0digital2 жыл бұрын
Аннотации это тайп хинтинги или что?
@gatapov2 жыл бұрын
@@t0digital да, я про type hinting
@t0digital2 жыл бұрын
@@gatapov тайп хинтинги к аргументам функций и возвращаемых значений писать нужно, да. Причем писать правильные. Использовать интерфейсы, где нужно. Использовать Iterable и тд.
@yan200go2 жыл бұрын
Диджитализируй! Можете, пожалуйста, снять код ревью? Можно даже устроить серию видео. Думаю, многим это сильно поможет(и мне в их числе). P.S. извините, что не по теме
@hilaaba2 жыл бұрын
Переменная Шрёдингера!
@alekseyivanov2552 жыл бұрын
нет
@rockkley91592 жыл бұрын
А можно реквест на видео? Декораторы в python
@РоманКирин-с2ю2 жыл бұрын
В этом и вся соль языков с динамической типизацией. По другому никак.
@ИванХодненко-е9г2 жыл бұрын
Спасибо за информацию! Появился вопрос во время просмотра, вся это история с ссылками идёт в рамках интерпретатора cpython, или это концепция языка? Вообще, есть ли интерпретаторы (или вообще возможность реализовать интерпретатор python), где переменные будут именно как переменные? (вопрос «зачем» - это отдельный вопрос, и здесь бы я его опустил)
@vas_._sfer61572 жыл бұрын
Нет. Такое невозможно. Переменные в python - это исключительно имена. Иначе будет нарушена спецификация
@sammygun842 жыл бұрын
Молодец достойно дал отпор диванным знатокам:)
@yuralamov9835 Жыл бұрын
Затянула тема. По 2 раза просмотрел эти 2 видео, затем полез в доку python, python/c api и с. Если мы просто print(id("jhgfjhf")) это будет область кучи, где расположена не объявленная и не инициализированная переменная для будущего использования? По моему, любая переменная это объект со своими свойствами, в том числе и стартовым адресом хранения самих данных, к которым мы можем обратиться посредством указателя с типом данных куда он лезет. Или я не прав?
@ТиминАлексей-с2т2 жыл бұрын
Я бы назвал это "переменные с типом данных ссылка на объект"
@НиктоНиктоев-щ7ю2 жыл бұрын
А кто-нибудь может объяснить, зачем писать petr=alex? Какая в этом смысловая нагрузка? Вот у нас был объект алекс, а потом мы что сделали его копию с новым именем? Или создали еще одну ссылку на алекса? Зачем?
@scsvv2 жыл бұрын
Если что в книгах по Си и по Раст, тоже много говорится о том, что это проблема не Питона, а скриптовых языках)
@РусланВетров-с2й2 жыл бұрын
Привет, посоветуй удобный дебаггер для вима/нвима, как текстовый редакатор он крут, а вот полноценно кодить в нем - пока боль для меня, пробовал vimspector и pdb и они не очень зашли. Спасибо.
@daminoname2 жыл бұрын
вс код
@gapchannelAi2 жыл бұрын
Как всегда материал на высшем уровне
@Azazavr2 жыл бұрын
Это из серии, что в классе Пайтон функции принято называть методами, но по факту это просто функции?
@t0digital2 жыл бұрын
Новое расследование и разоблачение, в пайтон нет методов! ...через год: пайтон не существует, он есть только в вашем воображении!
@ievgenk.89912 жыл бұрын
Как можно использовать "имена" в пайтоне иначе чем в Си? Какие есть плюшки или минусы? в чем они отличаются на практике, за исключением внутреннего представления?
@ВячеславБеляев-к9п2 жыл бұрын
то, что тебя начали хейтить это не удивительно, ведь уровень знаний большинства python-истов крайне низок
@SantaCluster2 жыл бұрын
с уровнем знаний это не связано. с внутренней токсичностью хейтеров - да. я вот в пайтоне слаб, что-то понимаю, что-то нет, но если я не согласен с автором (во многом или всегда), то пусть неправильно учит других, мне же лучше, а я пойду других - умных - послушаю :) А если согласен или сам не знал, то как можно высказывать недовольство? только благодарности! (как в данном случае)
@ВалерийБаталов-б7ь2 жыл бұрын
Волноваться из-за мнения, пусть и негативного, других очень энергозатратное мероприятие
@victorkochkarev25762 жыл бұрын
А ведь подобные споры о семантике съедают много времени и сил. Иногда это доходит просто до абсурда.
@dmytrob73362 жыл бұрын
Считаю эксперимент не завершенным, надо было идти дальше и перейти на уровень ассемблерного кода, вот здесь уже можно сравнивать реализации на любых языках выше уровня ассемблера.
@romanrrv2 жыл бұрын
Было весело :)
@teftelpastalog76672 жыл бұрын
В общем-то тема трогает только тех, кто не понимает Python. Кто понимает, ничего нового не услышал))
@MrHopeOrLess2 жыл бұрын
Под первым не расписался, моя поддержа зачастую заканчивается лайком, да простят меня хозяева каналов. Под вторым тоже (как и многие здесь) решил оставить благодарность за терпение перед душнилами. Потому что ИТ все всё поняли, каких именно переменных нет, а какие в пайтон есть, и видос был очень познавательным. Полностью согласен с последним монологом. Дай Бог здоровья и новых видосов. Всё очень профессионально! P.S. Личное желание, если позволите, побольше видосов для понимания работы пайтона, а не самого кодинга. Но я пока, конечно же, всё еще только одна еденица из целевой группы! =)