How To WebDev
2.41K subscribers
8 photos
1 video
325 links
Заявки принимаются моментально!

Обучаем фронтентду и бекенду просто и понятно!

Сотрудничество: @me_Smith

Ссылка на канал: @HowTo_WebDev
Download Telegram
🧾 Метод pop в Python

Данный метод удаляет элемент из списка по его индексу.

Приведëм пример:

numbers = list(range(10))
print(numbers) # 1
# Удаляем первый элемент
numbers.pop(0)
print(numbers) # 2
numbers.pop(0)
print(numbers) # 3
numbers.pop(2)
print(numbers) # 4
# Чтобы удалить последний элемент, вызовем метод pop без аргументов
numbers.pop()
print(numbers) # 5
numbers.pop()
print(numbers) # 6

>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 1
>>> [1, 2, 3, 4, 5, 6, 7, 8, 9] # 2
>>> [2, 3, 4, 5, 6, 7, 8, 9] # 3
>>> [2, 3, 5, 6, 7, 8, 9] # 4
>>> [2, 3, 5, 6, 7, 8] # 5
>>> [2, 3, 5, 6, 7] # 6

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод remove в Python

Метод remove удаляет пер­вый найденный по значению элемент в списке.

Рассмотрим пример использования:

all_types = [10, 'Python', 10, 3.14, 'Python', ['I', 'am', 'list']]
all_types.remove(3.14)
print(all_types) # 1
all_types.remove(10)
print(all_types) # 2
all_types.remove('Python')
print(all_types) # 3

>>> [10, 'Python', 10, 'Python', ['I', 'am', 'list']] # 1
>>> ['Python', 10, 'Python', ['I', 'am', 'list']] # 2
>>> [10, 'Python', ['I', 'am', 'list']] # 3

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод count в Python

Метод count считает элементы списка.

Пример использования:

numbers = [100, 100, 100, 200, 200, 500, 500, 500, 500, 500, 999]
print(numbers.count(100)) # 1
print(numbers.count(200)) # 2
print(numbers.count(500)) # 3
print(numbers.count(999)) # 4

>>> 3 # 1
>>> 2 # 2
>>> 5 # 3
>>> 1 # 4


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод sort в Python

Метод sort сортирует список по возрастанию значений его элементов.

Рассмотрим пример:

numbers = [100, 2, 11, 9, 3, 1024, 567, 78]
numbers.sort()
print(numbers) # 1
fruits = ['Orange', 'Grape', 'Peach', 'Banan', 'Apple']
fruits.sort()
print(fruits) # 2

>>> [2, 3, 9, 11, 78, 100, 567, 1024] # 1
>>> ['Apple', 'Banan', 'Grape', 'Orange', 'Peach'] # 2


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Методы, работающие с началом массива в JavaScript

С началом массива работают методы shift и unshift.

Shift удаляет из массива первый элемент и возвращает его:

let fruits = ["Яблоко", "Апельсин", "Груша"];

alert( fruits.shift() ); // удаляем Яблоко и выводим его

alert( fruits ); // Апельсин, Груша

Unshift добавляет элемент в начало массива:

let fruits = ["Апельсин", "Груша"];

fruits.unshift('Яблоко');

alert( fruits ); // Яблоко, Апельсин, Груша


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Внутреннее устройство массива (часть 1)

Массив – это особый подвид объектов. Квадратные скобки, используемые для того, чтобы получить доступ к свойству arr[0] – это по сути обычный синтаксис доступа по ключу, как obj[key], где в роли obj у нас arr, а в качестве ключачисловой индекс.

Массивы расширяют объекты, так как предусматривают специальные методы для работы с упорядоченными коллекциями данных, а также свойство length. Но в основе всё равно лежит объект.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод reverse в Python (часть 1)

Параметр reverse используется для изменения порядка сортировки. По умол­чанию этот параметр равен False.

Рассмотрим пример:

fruits = ['Orange', 'Grape', 'Peach', 'Banan', 'Apple']
fruits.sort()
print(fruits) # 1
fruits.sort(reverse=True)
print(fruits) # 2

>>> ['Apple', 'Banan', 'Grape', 'Orange', 'Peach'] # 1
>>> ['Peach', 'Orange', 'Grape', 'Banan', 'Apple'] # 2

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод reverse в Python (часть 2)

Также метод reverse используют для переворота списка.

Пример использования:

numbers = [100, 2, 11, 9, 3, 1024, 567, 78]
numbers.reverse()
print(numbers) # 1
fruits = ['Orange', 'Grape', 'Peach', 'Banan', 'Apple']
fruits.reverse()
print(fruits) # 2

>>> [78, 567, 1024, 3, 9, 11, 2, 100] # 1
>>> ['Apple', 'Banan', 'Peach', 'Grape', 'Orange'] # 2

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод extend в Python

Для объединения двух списков в Python есть полез­ный метод extend.

Этот метод вызы­вается для одного списка, а в качестве аргу­мента ему пере­дается другой список, extend запи­сывает в конец первого из них начало вто­рого:

fruits = ['Banana', 'Apple', 'Grape']
vegetables = ['Tomato', 'Cucumber', 'Potato', 'Carrot']
fruits.extend(vegetables)
print(fruits)

>>> ['Banana', 'Apple', 'Grape', 'Tomato', 'Cucumber', 'Potato', 'Carrot']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод clear в Python

В Python для очистки списков используется специальный метод clear.

fruits = ['Banana', 'Apple', 'Grape']
vegetables = ['Tomato', 'Cucumber', 'Potato', 'Carrot']
fruits.clear()
vegetables.clear()
print(fruits)
print(vegetables)

>>> [ ]
>>> [ ]

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод index в Python

Метод index возв­ращает индекс эле­мента. Вы пере­даете в качестве аргу­мента в index значение элемента, а метод возв­ращает его индекс:

fruits = ['Banana', 'Apple', 'Grape']
print(fruits.index('Apple'))
print(fruits.index('Banana'))
print(fruits.index('Grape'))
>>> 1
>>> 0
>>> 2


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод copy в Python (часть 1)

Этот метод копирует список и возвращает его брата-близнеца.

Если мы просто присвоим уже существующий список новой переменной, то на первый взгляд всё выглядит неплохо:

fruits = ['Banana', 'Apple', 'Grape']
new_fruits = fruits
print(fruits)
print(new_fruits)

>>> ['Banana', 'Apple', 'Grape']
>>> ['Banana', 'Apple', 'Grape']

Но есть одно но, при прямом присваивании спис­ков копи­рования не проис­ходит:

fruits = ['Banana', 'Apple', 'Grape']
new_fruits = fruits
fruits.pop()
print(fruits)
print(new_fruits)

# Внезапно, из списка new_fruits исчез последний элемент
>>> ['Banana', 'Apple']
>>> ['Banana', 'Apple']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод copy в Python (часть 2)

Когда при прямом присваивании спис­ков копи­рования не проис­ходит, то обе пере­менные начи­нают ссылаться на один и тот же список. То есть, если мы изме­ним один из них, то изме­нится и другой.

Исправить ситуацию поможет этот же методcopy:

fruits = ['Banana', 'Apple', 'Grape']
new_fruits = fruits.copy()
fruits.pop()
print(fruits)
print(new_fruits)

>>> ['Banana', 'Apple']
>>> ['Banana', 'Apple', 'Grape']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод copy в Python (финал)

Но если у нас список в списке, то внутренний список с помощью метода copy не скопируется:

fruits = ['Banana', 'Apple', 'Grape', ['Orange','Peach']]
new_fruits = fruits.copy()
fruits[-1].pop()
print(fruits) # 1
print(new_fruits) # 2

>>> ['Banana', 'Apple', 'Grape', ['Orange']] # 1
>>> ['Banana', 'Apple', 'Grape', ['Orange']] # 2

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Что такое фронтенд и бэкенд? (часть 1)

Фронтенд веб-сайта
— это все, что пользователь видит и с чем он может взаимодействовать при помощи браузера. Создание этой визуальной части называется фронтенд-разработкой.

Для разработки фронтенда в основе базовых инструментов используются: HTML (для создания базовой структуры страниц и контента), CSS (для стилизации внешнего вида) и JavaScript (для добавления интерактивности).

📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Что такое фронтенд и бэкенд? (часть 2)

Бэкенд
— это серверная часть веб-приложения, скрытая от глаз пользователя. Она включает в себя серверы, на которых расположены веб-страницы и определенную логику, которая управляет функциями и процессами сайта.

Для разработки бэкенд используют: Java, PHP, Ruby, C# и JavaScript.

📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Полезные материалы по фронтенду (часть 1)

К таким сервисам относится MDM. Данный ресурс предоставляет информацию обо всех открытых стандартах в веб-технологиях. Этот справочник будет полезен, когда нужно решить проблему и желательно его использовать по требованию.

Все материалы на этом сайте – труд разработчиков со всего мира. Каждый может поучаствовать в расширении базы знаний, в добавлении новой информации.

📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Полезные материалы по фронтенду (часть 2)

Coolors
– это веб-приложение предназначено для выбора подходящей цветовой палитры. После регистрации можно сохранять готовые палитры в таких форматах, как PDF, PNG, SCSS, SVG, или же просто копировать ссылку и пересылать результат.

📋
#Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Внутреннее устройство массива (часть 2)

В JavaScript массив является объектом и ведёт себя как объект.

Например, копируется по ссылке:

let fruits = ["Банан"]

let arr = fruits; // копируется по ссылке (две переменные ссылаются на один и тот же массив)

alert( arr === fruits ); // true

arr.push("Груша"); // массив меняется по ссылке

alert( fruits ); // Банан, Груша - теперь два элемента

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Внутреннее устройство массива (часть 3)

Движок JavaScript
старается хранить элементы массива в непрерывной области памяти, один за другим. Существуют и другие способы оптимизации, благодаря которым массивы работают очень быстро.

Но все они утратят эффективность, если мы перестанем работать с массивом как с «упорядоченной коллекцией данных» и начнём использовать его как обычный объект.

Например, технически мы можем сделать следующее:

let fruits = []; // создаём массив

fruits[99999] = 5; // создаём свойство с индексом, намного превышающим длину массива

fruits.age = 25; // создаём свойство с произвольным именем

Это возможно, потому что в основе массива лежит объект. Мы можем присвоить ему любые свойства.

Но движок поймёт, что мы работаем с массивом, как с обычным объектом. Способы оптимизации, используемые для массивов, в этом случае не подходят, поэтому они будут отключены и никакой выгоды не принесут.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev