πŸ”’ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ Π½Π° Python ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ свой сайт ΠΎΡ‚ автоматичСских Π°Ρ‚Π°ΠΊ

Для создания ΠΊΠ°ΠΏΡ‡ΠΈ Π½Π° Python Π²Π°ΠΌ потрСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ captcha. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простой ΠΊΠ°ΠΏΡ‡ΠΈ:


import random
from captcha.image import ImageCaptcha

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ImageCaptcha
captcha = ImageCaptcha()

# Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ случайный ΠΊΠΎΠ΄ для ΠΊΠ°ΠΏΡ‡ΠΈ
code = ''.join(random.choices('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', k=4))

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ ΠΈ сохраняСм Π΅Π³ΠΎ
image = captcha.generate(code)
image.save('captcha.png')
    

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠ°ΠΏΡ‡ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния, ΡˆΡ€ΠΈΡ„Ρ‚ ΠΈ Ρ†Π²Π΅Ρ‚Π°. Π—Π°Ρ‚Π΅ΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ Π½Π° вашСй Π²Π΅Π±-страницС ΠΈ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти ΠΊΠΎΠ΄ с изобраТСния.

НадСюсь, это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚! Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вопросы, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ Π½Π° Python

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ всСх, ΠΊΡ‚ΠΎ интСрСсуСтся Ρ‚Π΅ΠΌΠΎΠΉ создания ΠΊΠ°ΠΏΡ‡ΠΈ Π½Π° Python! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ с использованиСм этого Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ языка программирования.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°ΠΏΡ‡Π°. ΠšΠ°ΠΏΡ‡Π° - это тСхничСскоС срСдство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Π­Ρ‚ΠΎ своСго Ρ€ΠΎΠ΄Π° тСст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. ΠšΠ°ΠΏΡ‡ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° Π²Π΅Π±-страницах для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… дСйствий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ спам, брутфорс Π°Ρ‚Π°ΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π¨Π°Π³ 1: Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pillow

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ понадобится ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Pillow, которая позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с изобраТСниями Π½Π° Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

pip install pillow

ПослС установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pillow ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ созданию ΠΊΠ°ΠΏΡ‡ΠΈ.

Π¨Π°Π³ 2: ГСнСрация случайной строки

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² создании ΠΊΠ°ΠΏΡ‡ΠΈ являСтся гСнСрация случайной строки символов. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ этой строки. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этой Ρ†Π΅Π»ΠΈ:

import random

def generate_random_string(length):
    letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    random_string = ''.join(random.choice(letters) for i in range(length))
    return random_string

captcha_text = generate_random_string(6)
print(captcha_text)

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ создаст ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ строку ΠΈΠ· 6 символов, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π±ΡƒΠΊΠ² латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° (Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрах) ΠΈ Ρ†ΠΈΡ„Ρ€. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ строки ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ символов ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ.

Π¨Π°Π³ 3: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ изобраТСния ΠΊΠ°ΠΏΡ‡ΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ случайная строка символов для ΠΊΠ°ΠΏΡ‡ΠΈ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ эта строка Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Pillow для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° изобраТСния. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаст ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ:

from PIL import Image, ImageDraw, ImageFont

def create_captcha_image(captcha_text):
    image_width = 200
    image_height = 100
    bg_color = (255, 255, 255)
    text_color = (0, 0, 0)
    font_size = 40

    # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ пустоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Π±Π΅Π»Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ
    image = Image.new('RGB', (image_width, image_height), bg_color)

    # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ImageDraw для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° тСкста
    draw = ImageDraw.Draw(image)

    # Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ для отобраТСния тСкста
    font = ImageFont.truetype('arial.ttf', font_size)

    # ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ располоТСниС тСкста Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ
    text_width, text_height = draw.textsize(captcha_text, font=font)
    text_x = (image_width - text_width) // 2
    text_y = (image_height - text_height) // 2

    # Π Π΅Π½Π΄Π΅Ρ€ΠΈΠΌ тСкст Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ
    draw.text((text_x, text_y), captcha_text, fill=text_color, font=font)

    # БохраняСм ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»
    image.save('captcha.png')

create_captcha_image(captcha_text)

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ создаст ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ тСкстом ΠΊΠ°ΠΏΡ‡ΠΈ ΠΈ сохранит Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ "captcha.png". Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ изобраТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, Ρ†Π²Π΅Ρ‚ тСкста, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚, Π² соотвСтствии с вашими прСдпочтСниями.

Π¨Π°Π³ 4: Π’Ρ‹Π²ΠΎΠ΄ изобраТСния ΠΊΠ°ΠΏΡ‡ΠΈ

НаконСц, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ вывСсти ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ Π½Π° Π²Π΅Π±-страницС. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

from flask import Flask, send_file

app = Flask(__name__)

@app.route('/captcha')
def get_captcha_image():
    return send_file('captcha.png', mimetype='image/png')

if __name__ == '__main__':
    app.run()

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Flask для создания простого Π²Π΅Π±-сСрвСра. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΏΠΎ URL "/captcha" сСрвСр Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ.

Π­Ρ‚ΠΎ всС! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ Π½Π° Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄ Π² соотвСтствии с вашими потрСбностями ΠΈ трСбованиями.

Π― надСюсь, Ρ‡Ρ‚ΠΎ данная ΡΡ‚Π°Ρ‚ΡŒΡ оказалась ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΈ Π²Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΊΠ°ΠΏΡ‡ΠΈ Π½Π° Python!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠ°Ρ€Ρ‚Π½ΠΊΠΈ ΠΊΠ°ΠΏΡ‡ΠΈ Π½Π° Python | Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΊΠ°ΠΏΡ‡ΠΈ Π½Π° Python?

Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ. Π’Π·Π»ΠΎΠΌ сайта

Image ΠΊΠ°ΠΏΡ‡Π°. Автоматизация Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с Python ΠΈ Selenium

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”— Как ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° dataframe python с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ столбцами

βš™οΈ Как ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python Π² PyCharm Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: пошаговоС руководство πŸ’»

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива Π² Python: простой способ

πŸ”’ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ Π½Π° Python ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ свой сайт ΠΎΡ‚ автоматичСских Π°Ρ‚Π°ΠΊ

РазбираСмся, ΠΊΠ°ΠΊ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ врСмя Π² Python 😎🐍

πŸ”‘ ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ эффСктивный способ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Python

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π½Π΅ пустой? πŸπŸ˜• ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство ΠΏΠΎ использованию Python