Разница между переменными значимого и ссылочного типа
Понимание различий между переменной значения (value variable) и ссылочной переменной (ref variable) считается фундаментальными знаниями практически в любом стеке. Также эта тема может подниматься на собеседованиях на позицию junior-разработчика. И вот в чем разница:
Когда мы оперируем переменной значимого типа (присваиваем, передаём аргументом в функцию, кешируем и т. д.), то мы оперируем непосредственным значением переменной (например, числом или буленом). То есть когда переменной А присваивается значение переменной Б, то переменной А назначается копия Б, которая никак не зависит от оригинала. Если же потом переменная Б изменяется, это никак не отражается на значении переменной А. Пример из жизни: подруга попросила у вас книгу, вы отдаёте ей ксерокопию книги. Если потом подруга решит разрисовать свою копию, на вашем оригинале книги это никак не отразится.
Когда мы оперируем переменными ссылочного типа, то мы оперируем лишь указателем на переменную, а не его непосредственным значением. Если переменной А присваивается Б, то в А никакого значения не хранится, а хранится лишь ссылка на Б. В таком случае, если меняется значение Б, то и значение А тоже изменяется. Пример: подруга попросила у вас книгу и вы даёте ей номер нужной книги в библиотеке — она может пользоваться оригиналом. Если она решит разрисовать книгу — она разрисует оригинал.
Это далеко не единственное отличие между этими типами, но крайне важное.
#теория
Понимание различий между переменной значения (value variable) и ссылочной переменной (ref variable) считается фундаментальными знаниями практически в любом стеке. Также эта тема может подниматься на собеседованиях на позицию junior-разработчика. И вот в чем разница:
Когда мы оперируем переменной значимого типа (присваиваем, передаём аргументом в функцию, кешируем и т. д.), то мы оперируем непосредственным значением переменной (например, числом или буленом). То есть когда переменной А присваивается значение переменной Б, то переменной А назначается копия Б, которая никак не зависит от оригинала. Если же потом переменная Б изменяется, это никак не отражается на значении переменной А. Пример из жизни: подруга попросила у вас книгу, вы отдаёте ей ксерокопию книги. Если потом подруга решит разрисовать свою копию, на вашем оригинале книги это никак не отразится.
Когда мы оперируем переменными ссылочного типа, то мы оперируем лишь указателем на переменную, а не его непосредственным значением. Если переменной А присваивается Б, то в А никакого значения не хранится, а хранится лишь ссылка на Б. В таком случае, если меняется значение Б, то и значение А тоже изменяется. Пример: подруга попросила у вас книгу и вы даёте ей номер нужной книги в библиотеке — она может пользоваться оригиналом. Если она решит разрисовать книгу — она разрисует оригинал.
Это далеко не единственное отличие между этими типами, но крайне важное.
#теория
Статическая и динамическая типизация — кто эти двое и в чём ключевая разница?
Статическая и динамическая типизация — это два основных подхода к обработке типов данных в программировании.
В статической типизации тип данных переменной определяется на этапе написания кода и остаётся неизменным во время выполнения программы.
В динамической типизации тип переменной определяется во время выполнения программы, что позволяет ей изменяться в зависимости от присвоенных значений.
Статическая типизация обычно обеспечивает большую надёжность, так как позволяет обнаруживать ошибки на этапе компиляции, в то время как динамическая типизация обеспечивает большую гибкость в разработке. Некоторые языки программирования поддерживают один из типов типизации, другие же — оба типа.
@programmer_ways #теория
Статическая и динамическая типизация — это два основных подхода к обработке типов данных в программировании.
В статической типизации тип данных переменной определяется на этапе написания кода и остаётся неизменным во время выполнения программы.
В динамической типизации тип переменной определяется во время выполнения программы, что позволяет ей изменяться в зависимости от присвоенных значений.
Статическая типизация обычно обеспечивает большую надёжность, так как позволяет обнаруживать ошибки на этапе компиляции, в то время как динамическая типизация обеспечивает большую гибкость в разработке. Некоторые языки программирования поддерживают один из типов типизации, другие же — оба типа.
@programmer_ways #теория
👍1
Объяснение
Работа со строками в Python: базовые операции
Сложение (конкатенация)
Строки, как и числа, можно складывать, проще говоря, склеивать между собой с помощью оператора +. Эту операцию иногда называют «сцеплением».
Результат:
Дублирование (умножение)
В языке Python строки можно умножать на целые числа. Операция работает просто — повторяет содержимое переменной указанное количество раз. Например:
В результате получим:
На приведенном в задании изображении в первой строке происходит дублирование строки "Python" 2 раза. А вот во второй строке произойдешь ошибка, т.к. Python приводит запись "2.0" к вещественному типу данных (float), но недопустимо дублирование строки на вещественное значение.
Работа со строками в Python: базовые операции
Сложение (конкатенация)
Строки, как и числа, можно складывать, проще говоря, склеивать между собой с помощью оператора +. Эту операцию иногда называют «сцеплением».
s1 = 'Skill'
s2 = 'box'
s3 = s1 + s2
print(s3)
Результат:
Skillbox
Дублирование (умножение)
В языке Python строки можно умножать на целые числа. Операция работает просто — повторяет содержимое переменной указанное количество раз. Например:
st = 'ab ' * 6
print(st)
В результате получим:
ab ab ab ab ab ab
На приведенном в задании изображении в первой строке происходит дублирование строки "Python" 2 раза. А вот во второй строке произойдешь ошибка, т.к. Python приводит запись "2.0" к вещественному типу данных (float), но недопустимо дублирование строки на вещественное значение.
👍3
Разработка игры на Python — PyGame
PyGame — это мощный инструмент для создания игр на языке Python, позволяющий разработчикам реализовывать свои творческие идеи с помощью графики, звука и управления, и предоставляющий возможность создавать как простые, так и сложные игровые проекты.
Держите серию роликов, где автор подробно показывает процесс создания аналога Space Invaders — легендарной аркадной игры, ставшей культовым явлением в мире видеоигр. В ней игроки управляют космическим кораблем, стреляя по наступающим рядам инопланетных захватчиков.
@путьпрограммиста #python #gamedev #практика
PyGame — это мощный инструмент для создания игр на языке Python, позволяющий разработчикам реализовывать свои творческие идеи с помощью графики, звука и управления, и предоставляющий возможность создавать как простые, так и сложные игровые проекты.
Держите серию роликов, где автор подробно показывает процесс создания аналога Space Invaders — легендарной аркадной игры, ставшей культовым явлением в мире видеоигр. В ней игроки управляют космическим кораблем, стреляя по наступающим рядам инопланетных захватчиков.
@путьпрограммиста #python #gamedev #практика
YouTube
Разработка игры на Python | Pygame. Урок #1
Начинаем делать игру по мотивам "Space Invaders" на языке программирования Python с использованием библиотеки Pygame. Установим модули, настроим и отрисуем на экране изображение пушки из нашей будущей игры.
Не забываем подписываться!
------
Все уроки по…
Не забываем подписываться!
------
Все уроки по…
👨💻2👍1
Codewars — площадка для тренировки программирования
Это незаменимый инструмент для оттачивания навыков программирования. Платформа предлагает более 50 ЯП на выбор и множество кат — специальных небольших заданий на выполнение. Система проверяет работу кода автоматически.
В Codewars также можно изучать код других участников, проводить с ними соревнование и вести обсуждение решений.
Ссылка на Codewars
@ПутьПрограммиста #практика
Это незаменимый инструмент для оттачивания навыков программирования. Платформа предлагает более 50 ЯП на выбор и множество кат — специальных небольших заданий на выполнение. Система проверяет работу кода автоматически.
В Codewars также можно изучать код других участников, проводить с ними соревнование и вести обсуждение решений.
Ссылка на Codewars
@ПутьПрограммиста #практика
Codewars
Codewars - Achieve mastery through coding practice and developer mentorship
A coding practice website for all programming levels – Join a community of over 3 million developers and improve your coding skills in over 55 programming languages!
👍1
Что нужно знать начинающему Python-разработчику?
Python – один из самых востребованных языков программирования, но владение только синтаксисом недостаточно.
В видео вы узнаете, какие ещё навыки необходимы начинающему разработчику на Python, чтобы успешно устроиться на свою первую
#python
Python – один из самых востребованных языков программирования, но владение только синтаксисом недостаточно.
В видео вы узнаете, какие ещё навыки необходимы начинающему разработчику на Python, чтобы успешно устроиться на свою первую
#python
YouTube
Стань Лучшим Python-разработчиком в 2024: Секреты Junior-разработчика
🔍 Интересно, как вырасти в Python-разработчика и узнать ключевые навыки, которые должен знать junior-разработчик в 2022? Это видео — твой гид в мир успешной карьеры в Python!
👨💻 Что тебя ждет:
🚀 Актуальные тенденции: Узнаешь, какие технологии и инструменты…
👨💻 Что тебя ждет:
🚀 Актуальные тенденции: Узнаешь, какие технологии и инструменты…
Основы API
API (Application Programming Interface) — это набор инструкций, которые позволяют программам взаимодействовать друг с другом. Например, если вы разрабатываете мобильное приложение для прогноза погоды, оно может использовать API, чтобы получить данные о погоде с сервера и отобразить их на устройстве. Таким образом, API действует как посредник, обеспечивая связь и обмен информацией между различными приложениями и сервисами.
Держите статью, в которой подробнее рассказывается об API и приводятся примеры его применения.
@ПутьПрограммиста #теория #api
API (Application Programming Interface) — это набор инструкций, которые позволяют программам взаимодействовать друг с другом. Например, если вы разрабатываете мобильное приложение для прогноза погоды, оно может использовать API, чтобы получить данные о погоде с сервера и отобразить их на устройстве. Таким образом, API действует как посредник, обеспечивая связь и обмен информацией между различными приложениями и сервисами.
Держите статью, в которой подробнее рассказывается об API и приводятся примеры его применения.
@ПутьПрограммиста #теория #api
Как работает прокси-сервер: максимально простое объяснение
Про прокси или прокси-сервера можно услышать где угодно, но что это? Прокси — это посредник между устройством пользователя и интернетом, который позволяет скрывать реальный IP-адрес. Он используется для обхода блокировок сайтов, анонимного серфинга или улучшения скорости загрузки через кэширование.
Ловите короткое видео, где простым языком отвечают на следующие вопросы:
— Что такое прокси-сервер?
— Зачем нужен прокси-сервер?
— Какие бывают прокси-сервера?
— Разница между прокси и VPN?
— Когда выбрать VPN, а когда прокси?
— Плюсы и минусы прокси-сервера.
@ПутьПрограммиста #теория #vpn #прокси
Про прокси или прокси-сервера можно услышать где угодно, но что это? Прокси — это посредник между устройством пользователя и интернетом, который позволяет скрывать реальный IP-адрес. Он используется для обхода блокировок сайтов, анонимного серфинга или улучшения скорости загрузки через кэширование.
Ловите короткое видео, где простым языком отвечают на следующие вопросы:
— Что такое прокси-сервер?
— Зачем нужен прокси-сервер?
— Какие бывают прокси-сервера?
— Разница между прокси и VPN?
— Когда выбрать VPN, а когда прокси?
— Плюсы и минусы прокси-сервера.
@ПутьПрограммиста #теория #vpn #прокси
YouTube
Что такое прокси-сервер за 7 минут
В статье мы узнаем:
- Что такое прокси-сервер
- Зачем нужен прокси-сервер
- Какие бывают прокси-сервера
- Разница между прокси и VPN
- Когда выбрать VPN, а когда прокси
- Плюсы и минусы прокси-сервера
Список сервисов, где можно найти подходящие прокси:
…
- Что такое прокси-сервер
- Зачем нужен прокси-сервер
- Какие бывают прокси-сервера
- Разница между прокси и VPN
- Когда выбрать VPN, а когда прокси
- Плюсы и минусы прокси-сервера
Список сервисов, где можно найти подходящие прокси:
…