Введение, быстро и по факту. Вы начнете понимать основные, базовые этапы программирования, и, так сказать узнаете, что происходит "закулисами". Я самоучка, и по факту все что вы здесь прочтете, ну, скажем так, объясняю так, как понял, вашу конструктивную критику я буду нагло удалять из комментариев. Ну что же, начнем?
Не буду рассказывать про очевидное, "что такое программирование", и "что такое Python", как говорил один мой знакомый: "Понеслось что то там по кочкам"
python - это типы данных, числовые, числа с плавающей точкой, строки, булевой тип данных, кортежи, словари, списки. Python - это переменные, в которые мы помещаем какие то данные. Python - это инструменты с помощью которых мы реализуем данные в наших переменных. Инструменты бывают тоже разными:
Python состоит из собственных инструментов, таких как:
- print - используется для вывода данных в терминале(я в основном использую его для багтестов).
- if, elif, else - 3 обезьяны, условия, на которых держится все. If - "если" - используется для проверки какого то действия, например, если цикл не равен правде, то выполняется какое то следующее действие. Elif - грубо говоря, это следующий блок конструкции, проверяет дополнительное условие, если предыдущие условия не были истинными. else - если if и elif не являются истиной(той, которая нам нужна) то, используем else, например: Мы получаем на вход слова "столб", "опора", "и", "вещатель", но нам надо получить слово "Python" то мы пишем, "if word ==(равняется) "Python":" и дальше прописываем какое то действие, но мы получаем на вход слово столб, это значит, что данное условие у нас не сработает, проделаем тоже самое с условием elif, но на вход все равно получим не то, что нам нужно. Тогда на выручку придет условие Else, которое означает конец блока, что означает, что все предыдущие условия были забракованы. Мы пишем Else: print("Слово не найдено")
- while - цикл, в который можно поместить какое то действие, и оно будет повторяться до тех пор, пока цикл не станет правдой, или ложью.
- True, False - один из типов данных, "Булевой тип данных", для особо смышленых - Правда, Ложь. Может использоваться в том же цикле While например: напишем автокликер ( громко сказано, но к концу статьи я попытаюсь вам изложить все процессы примитивного автокликера, а пока расскажу про while и булевой тип данных), в цикл while мы помещаем определенное действие, то-есть клик по какому то элементу. Если клик удается, цикл прерывается, так как это правда. если нет, то кликает дальше, так как пока цикл равен лжи.
- Def -это функция используется для создания отдельного действия представим, что нам надо разбить какой то процесс на действия, и проработать каждое действие отдельно для качественной отладки всего процесса. Создается функция просто, мы пишем Def Man(): где (Man) - название нашей функции, и все, функция создана, осталось только добавить в эту функцию какое то действие.
- Class - используется для создания нового класса. Объясняю: давайте представим, что у нас есть персонаж, мы создаем основной класс, наш персонаж, это всего лишь оболочка, имя, возраст, и т.д. дальше нам надо разбить человека на все составляющие, ноги, руки, голова, и т.д. И каждую часть проработать отдельно. Для этого мы наследуем от родительского (основного класса) наши основные параметры и начинаем создавать нашего персонажа. У каждого класса, будь то рука или нога, будут свои функции, или параметры.(Def), их будет много, так как надо будет расписать каждый процесс выполняемый данной частью тела. Для этого мы каждый процесс будем разбивать на действия с помощью (Def) то есть будем помещать отдельное действие в (def) и в конечном итоге у нас получится процесс(в родительском классе мы инициализируем все наши приобретенные конечности и все остальное). Но ООП - объектно-ориентированное программирование штука довольно запутанная, поэтому к ней вы придете не скоро после начала изучения языка.
Собственных инструментов у Python много, очень много, перечислил только те, которые пришли в голову. И особо засорять не хочу статью.
Также Python состоит из инструментов, написанных другими программистами. Их называют библиотеками. Есть много разных библиотек и каждая из них может облегчить вам создание того или иного продукта. Можно все писать с нуля, в ручную, но это долго, и есть специальные инструменты, написанные командами проф. разработчиков, которыми можно спокойно пользоваться.
PyQt 5(уже есть и 6 версия) - используется эта библиотека для написания оконных приложений.
PyGame - используется для написания игр.
Aiogram - используется для написания ботов в телеграмме.
NumPy - для нейросетей (не буду рассказывать про многомерные таблицы и массивы, но, стало интересно, так ведь???)
PyAutoGui - простенькая библиотека, для начинающих троллей, хацкеров и задротов. Упомянуть я ее здесь решил, так как очень хочется закончить объяснение автокликера, а эта библиотека подойдет как нельзя кстати.
Кстати говоря, бонусом я сейчас предоставлю вам простой автокликер, и объясню как работает каждая строчка. Я буду помечать комментарии к строчкам таким значком "#"
import pyautogui # здесь мы импортируем в наш код библиотеку для автоматизации нашего автокликера
from pyautogui import * #здесь мы импортируем все из библиотеки значком *
import sys # импортируем системную библиотеку
import os #еще одна системная библиотека
import random #импортируем библиотеку, которая позволит нам рандомно что то выбирать"поймете чуть позже"
import time#импортируем библиотеку для установки задержки между процессами
import pyperclip#импортируем библиотеку для работы с буфером обмена
words = ["Столб", "Опора", "И", "Вещатель"]#здесь мы можем вставить какие то слова, на наш выбор, которые затем будут отправленны в рандомном порядке туда, куда вам нужно
def start(): #создаем функцию старт
start = os.startfile("здесь мы пишем полный путь к приложению телеграмма") #в этой строке наш питон сам автоматически откроет телеграмм, только надо указать ему путь
def found(): #создаем функцию для поиска
screenshot = pyautogui.screenshot()#здесь мы создаем переменную скриншот, в которой воспользуемся методом библиотеки PyAutoGui, screenshot. Python делает скриншот всего экрана, и будет искать на нем нужный нам значок, или другую картинку.
# Ищем координаты нужной нам картинки
telegram_icon_location = pyautogui.locateOnScreen('здесь мы вставляем название фотографии с расширением, в формате png', confidence=0.5)# через запятую у нас стоит следующий атрибут, в нем мы выставляем коэффициент схожести, с этим придется помучаться, и поиграться, так как не с первого раза получается подобрать нужный коэффициент. Может выдавать ошибку или вовсе нажимать не туда, куда нужно. Обязательно фотография должна находиться в одной папке с нашим кодом.
if telegram_icon_location is not None:#если наша переменная с фотографией не является None то есть, существует, то, выполняется следующее действие
# Кликаем по значку
telegram_icon_x, telegram_icon_y=pyautogui.center(telegram_icon_location)#
pyautogui.click(telegram_icon_x, telegram_icon_y)#
else:#
print("Значок телеграмма не найден")#
start()#так выглядит вызов функции
time.sleep(1)#так выглядит задержка, то есть между открытием и кликом должна быть задержка, иначе клик произойдет еще до открытия приложения, и может выдать ошибку
found()#вызов функции поиска и клика
time.sleep(1)#задержка
secret = random.choice(words)# здесь мы воспользуемся библиотекой рандома, для того что бы выбрать рандомное слово из нашей переменной words, и поместить ее в переменную secret.
if found == found:# если наша функция поиска равняется себе, то есть, удачно выполняется, то выполняется следующее действие.
pyperclip.copy(secret)# с помощью библиотеки для работы с буфером обмена мы копируем слово из переменной secret, которое мы рандомно выбрали из переменной words.
spam = pyperclip.paste()# здесь мы воспользуемся методом библиотеки paste что бы вставить слово в сообщение
#pyautogui.GetClipboardData(secret)#для того, что бы питон смог вытащить слово из буфера обмена мы воспользуемся этим методом.
pyautogui.hotkey('ctrl', 'v')# здесь мы воспользуемся методом для нажатия связки кнопок. В нашем случае связка для вставки
pyautogui.press('enter')#здесь мы воспользуемся методом для нажатия кнопки для отправки слова
Через точку указывается метод библиотеки, которым мы воспользуемся. Сначала пишем название библиотеки, а затем метод, который нам нужен.
Спасибо за внимание, надеюсь вам было неинтересно. До новых встреч с моими мыслями