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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3Jb7Pr
Download Telegram
🐍 Фиксируем нажатые клавиши

Для этого используем событие библиотеки keyboard.on_release(), в качестве аргумента передаем функцию-обработчик. И выводим в консоль.

import keyboard

keyboard.on_release(lambda X: print(x.name))


Code Learning | #Python #Info
👍20
🐍 Получаем историю браузера 😏

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

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


Code Learning | #Python #Info
👍17
📕 Книга "Python 3. Самое необходимое, 2-е издание"

Автор:
Н. А. Прохоренок, В. А. Дронов
Год издания: 2020
Язык: Русский

Описание: Описан базовый синтаксис языка Python 3: типы данных, операторы, условия, циклы, регулярные выражения, встроенные функции, объектно-ориентированное программирование, обработка исключений, часто используемые модули стандартной библиотеки и установка дополнительных модулей. Даны основы SQLite, описан интерфейс доступа к базам данных SQLite и MySQL, в том числе посредством ODBC.

Смотреть книгу бесплатно

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

Эту задачку помогает решить модуль 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
👁Holehe – Инструмент для проверки зарегистрированных аккаунтов по электронной почте

Другими словами, это утилита для «пробива» аккаунтов на популярных сервисах по электронной почте.
Holehe проверяет, привязана ли электронная почта к учетной записи на таких сайтах, как Twitter, Instagram, Imgur и более 120 других.

Ознакомиться на сайте

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

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
🤖 Создаем библиотеку для бота telegram

В этой статье я не буду описывать ни как скачать PyCharm или десктопную версию телеграмма (зарегистрироваться в которой оказалось той еще проблемой, кстати), ни как создать своего бота и получить API Key. Этой 30-секундной информацией интернет просто завален. Будем подразумевать, что потенциальному читателю это либо вообще до фени, либо он способен эти операции произвести самостоятельно.

Читать статью на сайте

Code Learning | #Article #Python
👍9
🐍 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
🐍 Функция 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
🐍 Объединение строк

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

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

Code Learning | #Info #Python
👍17