cool track
The Beatnuts- Shaka boom
Shaka boom ( method man se acabo remix )viral song Shaka boom ringtone — YouTube
cool track
The Beatnuts- Shaka boom
Shaka boom ( method man se acabo remix )viral song Shaka boom ringtone — YouTube
Beastie Boys — Sabotage — YouTube
Этот трек играет когда в трейлере желтые угоняют самолёт и идут на взлёт. К слову — в фильме было иначе. Если в трейлер вставили довольно бодрый и драйвовый звуковой ряд, который прям очень подходил к моменту предположительной аварии (врезания самолёта в диспетчерскую вышку). То вот в фильме в этом месте играет просто классическая музыка. Которая полностью рушит атмосферу напряжённого момента.
Запишу в чём разница, чтоб закрепить в голове.
Объявление
Это когда для «всех» объявляем что мы будем использовать нечто с определённым именем и определённого типа. Никто не знает что «это» из себя представляет. Как с ним взаимодействовать и что «оно» в себе содержит?
Определение.
Это когда мы говорим что «ЭТО» с таким то именем работает вот так то и устроено так то. Таким образом «все» присутствующие кроме имени также теперь имеют представление что это такое, как оно выглядит и как с ним работать.
Инициализация
Это когда уже зная название, внешний вид, внутреннюю конструкцию , мы говорим что этот объект/сущность содержит в себе вот такое конкретное значение. То есть — она НЕ пустая теперь. А заполненная.
Абстрактный пример из окружающего мира:
Объявление
мы будем использовать чашку
но какую?
Определение
это чашка снаружи зелёная, внутри белая, её высота 10см, её диаметр 7 см, она выдерживает температуру до 200 градусов и пригодна для пищевых напитков. У неё нет крышки а стенки тонкие — она не годится для сохранении температуры содержимого длительное время.
а что в ней есть?
Инициализация
В чашку (согласно определению выше) налит чай чёрный с лимоном и сахаром. Горячий
Полный хлам =(
Ничего общего со вселенной ЗВ. Просто шлак какой то. Вот могли же…могли. Но нет. Получилось тупое аниме про самураев и их долгие пафосные речи.
НЕ СМОТРЕТЬ!!!
Данная интерпретация имеет свободный характер и не претендует на истину последней инстанции.
Я понимаю это так. Когда создаём объект класса, то отдельно в памяти выделяется под неё место, куда записываются имя объекта, параметры (унаследованные от родительского класса) и их значения (заполненные конструктором класса). Но также объект наследует от своего класса и методы. Но метод это не переменная. Это некий программный код, который имеет входные значения, что-то с ними делает и выдаёт или нет результат. Значит нет необходимости дублировать код методов для каждого объекта — он будет для всех объектов одинаков. Потому он хранится (код методов ) в единичном экземпляре где-то в теле класса. И если для конкретного объекта необходимо вызвать его метод — то программа в этом месте просто переходит к тому самому, единственному экземпляру кода этого метода, который хранится в классе — передаёт ему на вход параметры и выполняет его. Но если код единственный, то как он поймёт с данными какого объекта он сейчас работает? Вот для этого и используется self — здесь неявно передаётся указатель на конкретный объект. И когда метод выполняется и внутри него есть сочетание self.переменная — то программа понимает что вместо self на самом деле как бы можно поставить имя конкретного объекта. И обращение происходит к конкретной переменной конкретного объекта.
Почему неявно передаётся указатель на объект? Потому, что при вызове метода объекта — мы не передаём имя объекта в качестве параметров. Обычно мы вызываем метод в виде Объект.Его_метод(параметры,..). Мы в начале указываем имя объекта. Это для простоты понимания кода. Но в само деле выглядит это как Класс.Его_метод(указатель_на_объект,параметры,….)
Оставлю себе на память.
Tito & Tarantula — «After Dark»
Уже не единожды сталкиваюсь с проблемой в программе Onenote: когда я набираю текст, то в окне ввода он отображается с задержкой порядка 1-2 секунды. Что дико бесит.
Проблема кроется в ошибке синхронизации. Если выставлена автоматическая синхронизация книг и возникает какая то ошибка — программа пытается выполнить синхронизацию во что бы то ни стало. Если машина слабая — то заметно как программа тормозит с обработкой команд ввода от оператора.
Решение: просто перевёл синхронизацию книг в ручной режим. Теперь можно работать гораздо комфортнее.
Использование библиотеки PyGame для пайтона. Скопировал чужой код игры «змейка».
Первое — необходимо установить библиотеку питона. Это делается просто. В командной строке ОС набрать :
Pip install pygame
Если не сработает — запустить консоль от имени администратора.
Код приведён здесь Snake Game in Python using Pygame — copyassignment.com
Для практики запоминания синтаксиса — я набирал код ручками по оригиналу, кое где внося изменения. Изменения вносил незначительные — в основном заменял длинный выводимый текст на более короткий.
Однако после первой попытки запустить код — я лишь на мгновение увидел черное окошко программы и на этом её выполнение успешно завершилось. Без каких либо ошибок.
Чтоб выявить в чём проблема — решил создать новый файл программы, скопировать туда код с сайта «как есть» и попробовать выполнить. Результат — код рабочий. Я увидел игровое окно и смог поиграть. Ага — значит где-то я накосячил переписывая код.
Значит необходимо сравнить текст программы, набранный мной, с текстом оригинала. Построчно.
Сперва я решил воспользоваться онлайн ресурсом для сравнения текстов. Использовал первый что попался в выдаче поисковика — Compare text online
Я остался очень недоволен удобством этого ресурса. Никак не понял — нужно ли перезапускать проверку, если я внёс коррективы в текст прямо на этом сайте, или нет.
Вспомнил что в моём любимом Total Commander есть плагин/встроенная утилита для сравнения файлов по содержимому. И — да! Она оказалась очень практичной.
Ошибок было около 5-6. И главная из них заключалась в несоблюдении правила табуляций в языке Пайтон. Функция вызова циклической отрисовки окна находилась не в своей позиции. И из-за не соблюдения табуляций, она оказалась внутри функции, которая срабатывает только раз, если не была вызвана функция закрытия окна. А она тоже как то так оказалась в таком месте — что она вызывалась не тогда, когда задумано.
Внёс поправки. Запустил код и получил рабочую программку.
Следующий этап — разбор кода.
Если вижу сообщение «pygame» is not accessedPylance после установки библиотеки. Всего то необходимо перезапустить VS Code
Ещё одно подобие githab’a?