Code Learning
10.5K subscribers
2.5K photos
874 videos
3 files
3.38K links
Практические материалы для улучшения кода, обзоры ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/codelearning_tg

РКН: clck.ru/3Jb7Pr
Download Telegram
🐍 Получаем историю браузера 😏

browser-history— это простой, не требующий никаких зависимостей, удобный для разработчиков пакет Python для извлечения (почти) всей истории любого браузера на (почти) любой платформе.

from browser_history import get_history
outputs = get_history()
his = outputs.histories
print(his)


Code Learning | #Python #Info
👍17
🐍 Узнаем текущее время

Эту задачку помогает решить модуль time, с помощью которого мы получаем текущее время.

import time
t = time.localtime()
current_time = time.strftime("%H:%M:%S", t)
print(current_time)

Code Learning | #Python #Info
👍9
🐍 Метод Readline

Чтобы прочитать только одну строку вместо нескольких строк в файле Python, используйте метод .readline() для файлового объекта, возвращаемого функцией open().

with open('story.txt') as story_object:
print(story_object.readline())

Каждый последующий .readline() будет извлекать следующую строку в файле, если она существует.

Code Learning | #Python #Info
👍9
🐍 Функция math.trunc()

Если у вас есть число и вам необходимо работать с его целой частью, то используйте функцию math.trunc().

import math

x = 2.8
y = math.trunc(x) // y = 2

x = -3.001
y = math.trunc(x) // y = -3

x = 2.000001
y = math.trunc(x) // y = 2

Эта функция возвращает целочисленное значение, которое равно целой части переданного числа.

Code Learning | #Python #Info
👍10
🐍 Функция math.comb()

Если вам необходимо узнать, сколькими способами можно выбрать k объектов из набора, где находится n объектов, то вы можете воспользоваться функцией math.comb().

import math

n = 6
k = 2

result math.comb(n, k)
print('Total number of possible combinations:', result)
// Total number of possible combinations: 15

Эта функция вычисляет число сочетаний из n по k.
Обращаем ваше внимание, что параметры должны быть положительными целыми числами.

Code Learning | #Python #Info
👍8
🐍 Метод uniform

Метод random.uniform() возвращает случайное число с плавающей запятой между двумя указанными числами включительно.

import random

a = 4
b = 9

print(
"The random number generated between 4 and 9 is : ",
end ="" )
print(random. uniform (a, b))
// 6.353208083682785

Первое число указывает нижний предел случайного числа. Второе число указывает верхний предел случайного числа.

Code Learning | #Python #Info
👍9
🐍 Быстрая сортировка

QuickSort — это алгоритм «разделяй и властвуй». Он выбирает элемент в качестве опорного элемента и разбивает заданный массив вокруг выбранного опорного элемента.

def quicksort(l, r, nums): 
if len(nums) == 1:
return nums
if l < r:
pi = partition (l, r, nums)
quicksort(1, pi-1, nums)
quicksort (pi+1, r, nums)
return nums

Существует много разных версий quickSort, которые по-разному выбирают точку опоры.

Code Learning | #Python #Info
👍5
🐍 eval() и exec()

Python имеет возможность динамически считывать строку и обрабатывать ее как часть программного кода. Это достигается с помощью функций eval() и exec() (eval предназначена для вычисления выражений, а exec – для выполнения операторов).

a = 8

b = eval('a + 4')
print('b =', b)
// b = 12

exec('c = a ** 2')
print('c is', c)
// c is 64

В строке 3 функция eval() считывает входную строку как выражение Python, вычисляет ее и присваивает результат переменной b. В строке 7 функция exec() считывает входную строку, как оператор Python и выполняет ее.

Code Learning | #Python #Info
👍8
🐍 geopy

Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:

$ pip install geopy

for geopy import GoodleV3
place "221b Baker Street, London"
location = GoodleV3().geocode(place)

print(location.address) print(location.location)

Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.

Code Learning | #Python #Info
👍11
☕️ Метод массива .indexOf()

Чтобы определить расположение элемента в массиве, можно воспользоваться методом .indexOf(). Он возвращает индекс первого вхождения элемента, либо -1, если он не найден.

var array = [2, 5, 9, 2];
console.log(array.indexOf(2));
// 0
console.log(array.indexOf(7));
// -1
console.log(array.indexOf(2, 1));
// 3
console.log(array.indexOf(5, 2));
// -1

Метод .indexOf() принимает два аргумента. Первый аргумент – это элемент, который нужно найти в массиве, а второй – индекс, с которого нужно начать поиск.

Code Learning | #JavaScript #Info
👍6
🐍 Функция random.choices()

Функция возвращает список элементов длины k, выбранных из последовательности lst с перестановкой элементов.

import random
lst = [10, 25, 30, 45, 50, 65, 70, 85, 90, 105] random.choices(lst, k=5)
// [90, 65, 90, 10, 45]

random.choices (lst, k=3)
// [50, 90, 65]

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

Code Learning | #Python #Info
👍7
💻 howdoi: StackOverflow прямо в терминале

Застряли во время разработки и никак не можете поймать за хвост решение, которое уже точно где-то видели? Надо идти на StackOverflow, но не хочется выходить из консоли? Тогда вам нужен это суперполезный CLI-инструмент.

$ howdoi vertical align css
$ howdoi for loop in java
$ howdoi undo commits in git

Code Learning | #Python #Info
🐍 Метод set.difference

Метод difference() возвращает набор, содержащий разницу между двумя наборами. Возвращаемый набор содержит элементы, которые существуют только в первом наборе, а не в обоих наборах. Также можно использовать оператор ( – ).

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}

z = x.difference(y)
z1 = y.difference(x)

print(z) // ['cherry', 'banana']
print (z1) // ['google', 'microsoft']

Code Learning | #Python #Info
👍6
🐍 Метод sets.intersection()

Позволяет найти пересечение множества с одной или более последовательностями поддерживающих итерирование.

sets = {0, 1, 2, 3}
lists = [0, 1, 3, 5, 6, 7]
print (sets.intersection(lists))
// {0, 1, 3}

Code Learning | #Python #Info
👍7
🐍 Преобразование текста в речь

Рассмотрим модуль pyttsx3, позволяющий озвучивать текст прямо во время выполнения программы. Для запуска кода с картинки необходимо установить модуль при помощи pip install pyttsx3. Запущенная программа спросит, как у вас дела, и скажет, что любит макароны.

import pyttsx3

engine = pyttsx3.init()

engine.say("Привет, как дела?") engine.say("Я люблю макароны")

engine.runAndWait()


Code Learning | #Python #Info
👍10
☕️ Метод Math.abs()

Метод Math.abs() вычисляет и возвращает абсолютное значение (модуль) переданного числа.
Если передать в метод нечисловую строку или значение undefined/ничего не передавать, то он вернёт NaN. А если в метод передать значение null, то он вернёт 0.

console.log(Math.abs(5)) // 5
console.log(Math.abs(-7)) // 7
console.log(Math.abs('str')) // NaN
console.log(Math.abs()) // NaN
console.log(Math.abs(null)) // 0


Code Learning | #Info #JavaScript
👍9
🐍 Объединение строк

В программном коде нередко приходится сталкиваться с конкатенацией строк при помощи знака сложения. Создание строки из списка нескольких подстрок удобнее осуществить при помощи строкового метода join

a = ["Python", "-", "прекрасный", "язык"]
print(" ".join(a))

Code Learning | #Info #Python
👍17
🐍 Переименование файлов в Python

Функция rename() используется для переименовывания файлов в Python. Для ее использования сперва нужно импортировать модуль os.

import os

// переименование xxx.txt в abc.txt
os.rename("xxx.txt", "abc.txt")

Code Learning | #Python #Info
👍10
🐍 Сортировка словаря по значениям

Распространена практика использования словарей в качестве таблиц для хранения данных. Сортировка данных словаря по значениям ключей, а не самим ключам, нередко ставит в тупик. Задача решается довольно просто при помощи соответствующего аргумента функции сортировки.

d = {'яблоки':40, апельсины :80, бананы' :70]
print(sorted(d, key=d.get))
['яблоки', 'бананы, апельсины]

Code Learning | #Python #Info
👍11
🧐 Графы: что это?

Деревья расширяют область применения связанных списков, позволяя иметь более одного дочернего узла.

При помощи графов можно расширить область применения и ослабить строгую «родительскую» связь в деревьях. Узлы графа не имеют явной иерархии. Каждый узел может быть соединен с любым другим узлом. Как правило, графы представлены в виде матриц смежности (adjacency matrix).

Code Learning | #Info
👍13