Как установить eel python

Создание современного GUI для вашего приложения Python

В этом посте мы будем использовать библиотеку, которая позволит нам создать выдающийся графический пользователь … Помечено Python, EEL, HTML, JavaScript.

Приложение Python с EEL (3 серии деталей)

В этом посте мы будем использовать библиотеку, которая позволит нам создавать выдающиеся графические пользовательские интерфейсы (GUI) для наших повседневных сценариев Python.

У нас есть куча вариантов для создания GUI на Python, Tkinter, Wxpython, Pysimplegui, среди прочего. Tkinter действительно надежный и позволит нам иметь перекрестные приложения, однако, GUI на основе Tkinter не так красиво, как то, что мы можем, как правило, находить с веб-приложениями, а также другие прохладные приложения на основе электрона.

EEL – это библиотека, которая позволяет нам воспользоваться веб-технологиями, такими как HTML, CSS, JS и, конечно, все куча веб-каркасов там, как бутстрап, jQuery, прохладные библиотеки построения в качестве зарубежья и т. Д.

Библиотека EEL Позвольте нам легко использовать HTML, CSS и JS для создания нашего пользовательского интерфейса, не теряя всех наших мощных возможностей Python. EEL полагается на кучу библиотек Python, он просто создает локальный веб-сервер и открывает браузер (по умолчанию Chrome), браузер отображает HTML, CSS и JS, а Python контролирует большую часть логики.

Прохладная вещь с EEL, это позволяет нам запустить функции Python от JavaScript и ViceVersa, таким образом, мы можем обменять информацию и иметь лучшие из обоих миров (Python и JS).

Чтобы установить библиотеку EEL, вы можете сделать это из Pypi AS:

Настоятельно рекомендуется создать виртуальную среду сначала.

Мы должны сначала создать структуру нашей папки, наша корневая папка будет «приложением». Внутри мы создадим наш сценарий Python, который я решил позвонить App.py.

Чтобы улучшить структуру нашего кода, мы создали подпапку с именем «Web», который содержит файл index.html и две подпапки для наших файлов CSS и JS.

Для этого поста мы построим верхнее меню, напоминающее меню файлов для настольных приложений, используя предварительно построенный код из W3Schools Отказ Во-первых, мы должны редактировать свой HTML-файл:

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

И, наконец, для файла JS, мы просто добавляем слушателей событий на четыре кнопки на Navbar. Как видите, все они называют некоторые функции, но начинаются с EEL, например. ELL.GET_RANDOM_NAME (), это функция Python, таким образом, когда мы нажимаем кнопку, она позвонит функции Python. Кроме того, у нас есть функция js под названием inmapt_alerts, и у него есть декоратор eel.expose, это позволяет нам запустить эту функцию JS из Python:

Теперь мы завершили наш графический интерфейс пользователя, теперь мы должны создать наш файл Python. Мы должны импортировать библиотеку EEL, а все остальные библиотеки, которые вам нужны для вашего проекта, в данном случае, случайное и дате времени.

Затем мы должны добавить нашу линию EEL.init, это инициализируйте библиотеку EEL, к определенной папке. Затем мы создаем наши четыре функции, которые мы хотим позвонить из JS, поэтому мы добавили декоратор @ Eel.expose Отказ Как вы можете видеть, каждый звонит нашу функцию JS Prompt_Alerts и прохождение строкового аргумента.

eel.start Запустит приложение, в этом примере есть много аргументов, которые можно пропустить, в этом примере мы используем минимальные аргументы, мы просто устанавливаем файл HTML для отображения (относительно веб-папки).

Теперь, когда мы завершили наш код, мы можем начать наше приложение:

Должно появиться новое окно, как показано на следующем рисунке:

Если вы нажмете на любую из четырех четырех кнопок, должен быть показан предупреждение, например.:

Источник

Python GUI Using Chrome

Eel is a little Python library for making simple Electron-like HTML/JS GUI apps. This used for creating GUI’s in a Chrome app window with HTML, CSS and JS. In summary, it hosts a local webserver, then provides features to communicate between JavaScript and Python.

When thinking of what to design auto-py-to-exe with, I came across Eel for creating GUI’s using HTML, CSS and JavaScript in a Chrome app window. Hosting a local webserver and using Chromes app mode was exactly what I needed to make this project look great. Also this library lets you annotate functions in Python so that they can be called from Javascript, and vice versa.

Please note that this content is based off README.md in Eel’s GitHub Repository with modifications.

Although this example will be displaying the use of chromes app mode, you do not actually need chrome. When starting the app, if you do not have chrome you will be asked what to open to display the webpage.

Creating the File Structure

When setting up your file structure, the files to be served to the chrome window need to be in a single directory. In this example I will be putting my file in the web/ directory; you can use a different folder name if you want.

Python files will still sit outside the web/ folder and I recommend that you put the web/ folder right beside your python script to make it easier to reference when setting up the server. You can split the web/ folder into further folders if you want but this is not required.

The simplest form of creating this app is three lines:

This example imports eel, says where your files are and then starts the server passing the index page (page to display). When running the script, a chrome Window in app mode will appear and render the filename you passed in eel.start(). Chrome app mode is the same as chrome with the URL and bookmarks bar hidden.

If you do not have chrome installed, you will be asked what browser to open. The only difference when using this method is that you cannot control the initial size of the window.

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

You can set some optional variables when starting the server. To do this, pass a dictionary object to assigned to options as an argument; for example:

In this example I have set ‘mode’ to ‘chrome’, this will mean that it will use chrome normally and not in app mode; use «chrome-app» to keep app mode (this is the default). I set the ‘host’ to ‘localhost’ which will then host the server on 127.0.0.1. You could change this to your computers IP on your network so others can access the server. I have also set the port which is useful for clashes between servers and added chrome flags. Chrome flags are appended when calling the executable as usual.

Remember that you do not have to pass all these options in the dictionary, you can pass one if you want.

Setting Window Size

If you are using chrome in app mode (default) you can specify the size of the window by passing a tuple to the size argument in eel.start(). For example:

When I have used this in the past, the size doesn’t always match up, a good example of this is in my auto-py-to-exe project which uses size=(650, 612) but renders the window about 636×605. When looking at the inner dimensions of the window using JavaScript; window.innerHeight returns 573 and window.innerWidth returns 634.

This shows you might have to play around with these values until you get them where you want but they do work (just not as expected).

Before you carry on, you will need to put a JavaScript file in your HTML file. Simply add to the header:

This will allow JavaScript and Python to communicate as the client now has the code needed. There is nothing else you need to do apart from creating your functions.

Making Python Functions you Can Call in JavaScript

To make a Python function that you can call from JavaScript decorate it with @eel.expose like this:

Making JavaScript Functions you Can Call in Python

To make a JavaScript function that you can call from Python wrap the function name in eel.expose before creating it like this:

Now when you call eel.my_javascript_function(‘Hello ‘, ‘world!’) in Python, it will print «Hello World!» in the browser’s console. This shows that the code was executed in JavaScript by calling the method in Python.

Even though it may seem like Python and JavaScript are working together, there is still a barrier between them as they are running in different processes. Eel supports two ways to return values; callbacks and synchronous returns.

It’s also good to note that passing complex objects between Python and JavaScript may not be possible due to the functions moving the data and the compatibility of the two languages, for example, you can’t pass an instance of a class from Python to JavaScript.

Callbacks allow us to execute a function with the data returned as the argument. When the data is returned, the function will be called and the return value will be passed as a parameter to the function. This method works both ways.

If I wanted to use a callback in Python, I would create my method in JavaScript which returns a value that is exposed using eel. Then in Python:

This example will call js_function() in JavaScript and will pass the returned value to print_num() in Python.

You can also do this in JavaScript the other way around. For example:

When calling a JavaScript function from Python, we can get the return value directly using a double pair of brackets; for example:

These must be called after eel.start(). This can be done by calling a Python function in JavaScript which calls this demonstrated method. Also I will explain soon about the non-blocking eel.start() which then means you could do this after the eel.start().

Calling a Python function with a return value from JavaScript is a bit harder due to the JavaScript language. Simply making a function async and using await will fix this though:

This will allows us to wait for the value to be returned from the server. If you leave out await, you will be given a Promise object which will only be given the actual value of return when the data is returned which will be a lot later due to the speed of transferring the data (fast for us but too slow for a computer).

In this example, I will create to files, one being the Python script and the other being main.html in the web/ folder beside the Python script.

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Do NOT use time.sleep()

time.sleep() is very dangerous when used with eel; fortunately we have been given an alternative. Calling time.sleep() will pause the execution of the whole server so you should use eel.sleep() instead. It has the exact same functionality, just it’s one less import you need.

Threading using Eel

To reduce the chance of conflicts, eel also provides a interface for creating threads. Use eel.spawn() to replace threading instances. This is also helpful for creating thread in general.

An example of using eel.sleep() and eel.spawn() :

Don’t block eel.start()

If you want to execute code underneath eel.start() you can pass block=False as an argument to stop it from blocking. For example:

This will allow code execution to keep flowing after it reaches this statement. Do note that when your code underneath eel.start() is complete the server will stop as the whole script has stopped.

Executing Code When the Window is Closed

So those who have used Flask, bottle or pyramid before may be asking why not just use those? When using a library like Flask, you need to create the server, setting up all the routes yourself and decide on the layout of the server.

With Eel, you don’t need to do any of this; simply importing eel, calling eel.init(‘web’) and eel.start(‘main.html’) will create the whole server for you. Now all you need to do is create your methods and expose them to eel using a decorator.

Common Issues and Questions

Is it possible to package eel with pyinstaller?

Yes, if you look at Eel documentation, go to the bottom and it explains clearly how to do this.

Owner of PyTutorials and creator of auto-py-to-exe. I enjoy making quick tutorials for people new to particular topics in Python and tools that help fix small things.

Источник

Как устанавливать пакеты в Python — с PIP и без

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Прежде чем что-то устанавливать, давайте разберёмся, что такое пакет, чем он отличается от модуля, и как с ним работать. У слова «пакет» применительно к Python два значения.

Установка PIP для Python 3 и 2

Если вы используете виртуальные окружения на базе venv или virtualenv, pip уже установлен. Начиная с Python 3.4 (для Python 2 — с версии 2.7.9) pip поставляется вместе с интерпретатором. Для более ранних версий устанавливать менеджер пакетов нужно вручную. Вариантов два:

C помощью скрипта get_pip.py — быстро.

Через setuptools — кроме pip сможем использовать easy_install.

Вариант 1. Скачиваем скрипт get_pip.py и запускаем в консоли. Для этого открываем терминал через Win+R>»cmd»>OK и пишем:

Полный путь полезен и в том случае, если у вас на компьютере несколько версий Python и вы ставите пакет для одной из них.

Вариант 2. Скачиваем архив с setuptools из PYPI и распаковываем в отдельный каталог. В терминале переходим в директорию setuptools c файлом setup.py и пишем:

python setup.py install

Установка пакета в pip

Пора запустить pip в Python и начать устанавливать пакеты короткой командой из консоли:

pip install имя_пакета

Обновить пакет не сложнее:

Если у вас последняя версия пакета, но вы хотите принудительно переустановить его:

Посмотреть список установленных пакетов Python можно с помощью команды:

Найти конкретный пакет по имени можно командой «pip search». О других командах можно прочесть в справке, которая выдается по команде «pip help».

Удаление пакета Python

Когда пакет больше не нужен, пишем:

pip uninstall имя_пакета

Как установить пакеты в Python без pip

он не удаляет пакеты,

он может пытаться установить недозагруженный пакет.

Если нужно скачать пакет из альтернативного источника, вы можете задать URL или локальный адрес на компьютере:

Список пакетов, установленных через easy_install, хранится в файле easy-install.pth в директории /libs/site-packages/ вашего Python.

К счастью, удалять установленные через easy_install пакеты можно с помощью pip. Если же его нет, потребуется удалить пакет вручную и стереть сведения о нем из easy-install.pth.

Теперь вы умеете ставить и удалять пакеты для вашей версии Python.

Кстати, для тех, кто изучает Python, мы подготовили список полезных и практичных советов.

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Прежде чем что-то устанавливать, давайте разберёмся, что такое пакет, чем он отличается от модуля, и как с ним работать. У слова «пакет» применительно к Python два значения.

Установка PIP для Python 3 и 2

Если вы используете виртуальные окружения на базе venv или virtualenv, pip уже установлен. Начиная с Python 3.4 (для Python 2 — с версии 2.7.9) pip поставляется вместе с интерпретатором. Для более ранних версий устанавливать менеджер пакетов нужно вручную. Вариантов два:

C помощью скрипта get_pip.py — быстро.

Через setuptools — кроме pip сможем использовать easy_install.

Вариант 1. Скачиваем скрипт get_pip.py и запускаем в консоли. Для этого открываем терминал через Win+R>»cmd»>OK и пишем:

Полный путь полезен и в том случае, если у вас на компьютере несколько версий Python и вы ставите пакет для одной из них.

Вариант 2. Скачиваем архив с setuptools из PYPI и распаковываем в отдельный каталог. В терминале переходим в директорию setuptools c файлом setup.py и пишем:

python setup.py install

Установка пакета в pip

Пора запустить pip в Python и начать устанавливать пакеты короткой командой из консоли:

pip install имя_пакета

Обновить пакет не сложнее:

Если у вас последняя версия пакета, но вы хотите принудительно переустановить его:

Посмотреть список установленных пакетов Python можно с помощью команды:

Найти конкретный пакет по имени можно командой «pip search». О других командах можно прочесть в справке, которая выдается по команде «pip help».

Удаление пакета Python

Когда пакет больше не нужен, пишем:

pip uninstall имя_пакета

Как установить пакеты в Python без pip

он не удаляет пакеты,

он может пытаться установить недозагруженный пакет.

Если нужно скачать пакет из альтернативного источника, вы можете задать URL или локальный адрес на компьютере:

Список пакетов, установленных через easy_install, хранится в файле easy-install.pth в директории /libs/site-packages/ вашего Python.

К счастью, удалять установленные через easy_install пакеты можно с помощью pip. Если же его нет, потребуется удалить пакет вручную и стереть сведения о нем из easy-install.pth.

Теперь вы умеете ставить и удалять пакеты для вашей версии Python.

Кстати, для тех, кто изучает Python, мы подготовили список полезных и практичных советов.

Источник

A little Python library for making simple Electron-like HTML/JS GUI apps

Related tags

Overview

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Eel is a little Python library for making simple Electron-like offline HTML/JS GUI apps, with full access to Python capabilities and libraries.

Eel hosts a local webserver, then lets you annotate functions in Python so that they can be called from Javascript, and vice versa.

Eel is designed to take the hassle out of writing short and simple GUI applications. If you are familiar with Python and web development, probably just jump to this example which picks random file names out of the given folder (something that is impossible from a browser).

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

There are several options for making GUI apps in Python, but if you want to use HTML/JS (in order to use jQueryUI or Bootstrap, for example) then you generally have to write a lot of boilerplate code to communicate from the Client (Javascript) side to the Server (Python) side.

The closest Python equivalent to Electron (to my knowledge) is cefpython. It is a bit heavy weight for what I wanted.

For some reason many of the best-in-class number crunching and maths libraries are in Python (Tensorflow, Numpy, Scipy etc) but many of the best visualization libraries are in Javascript (D3, THREE.js etc). Hopefully Eel makes it easy to combine these into simple utility apps for assisting your development.

Join Eel’s users and maintainers on Discord, if you like.

Install from pypi with pip :

To include support for HTML templating, currently using Jinja2:

All the frontend files should be put in a single directory (they can be further divided into folders inside this if necessary).

This will start a webserver on the default settings (http://localhost:8000) and open a browser to http://localhost:8000/main.html.

Additional options can be passed to eel.start() as keyword arguments.

Some of the options include the mode the app is in (e.g. ‘chrome’), the port the app runs on, the host name of the app, and adding additional command line flags.

As of Eel v0.12.0, the following options are available to start() :

Including this library creates an eel object which can be used to communicate with the Python side.

Any functions in the Python code which are decorated with @eel.expose like this.

. will appear as methods on the eel object on the Javascript side, like this.

Similarly, any Javascript functions which are exposed like this.

can be called from the Python side like this.

The exposed name can also be overridden by passing in a second argument. If your app minifies JavaScript during builds, this may be necessary to ensure that functions can be resolved on the Python side:

When passing complex objects as arguments, bear in mind that internally they are converted to JSON and sent down a websocket (a process that potentially loses information).

Putting this together into a Hello, World! example, we have a short HTML page, web/hello.html :

and a short Python script hello.py :

. in the terminal, and.

. in the browser console (press F12 to open).

While we want to think of our code as comprising a single application, the Python interpreter and the browser window run in separate processes. This can make communicating back and forth between them a bit of a mess, especially if we always had to explicitly send values from one side to the other.

Eel supports two ways of retrieving return values from the other side of the app, which helps keep the code concise.

When you call an exposed function, you can immediately pass a callback function afterwards. This callback will automatically be called asynchrounously with the return value when the function has finished executing on the other side.

For example, if we have the following function defined and exposed in Javascript:

Then in Python we can retrieve random values from the Javascript side like so:

(It works exactly the same the other way around).

In most situations, the calls to the other side are to quickly retrieve some piece of data, such as the state of a widget or contents of an input field. In these cases it is more convenient to just synchronously wait a few milliseconds then continue with your code, rather than breaking the whole thing up into callbacks.

To synchronously retrieve the return value, simply pass nothing to the second set of brackets. So in Python we would write:

You can only perform synchronous returns after the browser window has started (after calling eel.start() ), otherwise obviously the call with hang.

In Javascript, the language doesn’t allow us to block while we wait for a callback, except by using await from inside an async function. So the equivalent code from the Javascript side would be:

. we would then have three «threads» (greenlets) running;

Building distributable binary with PyInstaller

If you want to package your app into a program that can be run on a computer without a Python interpreter installed, you should use PyInstaller.

Источник

Как объединить 5 языков программирования в одном Python проекте?

На сегодняшний день существует несколько тысяч языков программирования, каждый из которых создавался с определенной целью, пытаясь изменить и улучшить недостатки своих предшественников. Так, например, появился язык Kotlin, который был нацелен на замену Java в мобильной разработке. В 2010 году увидел свет язык Rust, разработчики которого пытались создать быстрый и безопасный язык, который закрывал бы многие недостатки C/C++.

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

Но что делать, если необходимо использовать несколько языков программирования в одном проекте?

Зачастую бывает так, что один язык не очень хорошо может справляться с теми задачами, которые нужно решить. Для этого программист может без проблем пересесть на другой язык. Но что делать, если уже имеется какая-то часть кода, которая написана на одном языке программирования, а другая часть кода на другом? Например, есть приложение, написанное на Python и есть какие-то структуры, модули или методы, которые написаны на Java (C/C#/JS) и уже оптимизированы с учетом этого языка, а переписывание этого кода на Python может занять много времени, да и код на Python будет выполняться намного медленнее и использовать больше памяти.

Можно попробовать объединить все эти наработки в одно приложение. Благо на сегодняшний день уже реализовано много библиотек, которые позволят без лишних проблем это сделать.

Цель статьи: попробовать написать одно приложение, где будет использоваться код, написанный на 5 разных языках программирования.

В качестве примера языки будут реализовать следующее: Cи будет проверять число на простоту методом квадратного корня, C# проверит число на простоту методом Милера-Рабина, Java проверит число на простоту методом Ферма, Python будет раскладывать число на множители, а JS будет высчитывать сумму числового ряда для полученных множителей.

Для того, чтобы запустить код Java из Python необходимо создать maven java проект (я пользуюсь IntellIJ). В нем создать модуль (я назвал его pkg_java) и в нем создать класс (название: JavaPrime) с логикой проверки числа на простоту методом Ферма:

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel pythonСоздание jar-артефакта

Модуль Java был успешно загружен, теперь можно пользоваться тестом Ферма.

Для того, чтоб запустить C# код в Python, нужно для начала создать библиотеку классов C# (я использовал VS2019):

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel python

Назовем проект is_prime_csharp (данный проект в будущем будет импортироваться в Python с таким же названием). Реализуем логику алгоритма Милера-Рабин:

Теперь модуль C# готов к работе, методом Милера-Рабина для проверки числа на простоту можно пользоваться.

Для связи С с Python сначала реализуем алгоритм квадратного корня для проверки числа на простоту:

Модуль C успешно загружен.

JavaScript

В main.py пропишем логику запуска программы:

С такой структурой программы:

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel pythonструктура Python проекта

И вызовем метод JS из Python:

Python

Для начала реализуем метод факторизации чисел:

Результат

Программа имеет простой графический интерфейс:

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel pythonинтерфейс итоговой программы

Необходимо ввести число в поле “Число” и нажать кнопку “выполнить”. После чего через JS обработать нажатие данной кнопки и вызвать метод из Python:

Теперь можно запустить программу и проверить, будет ли всё вместе работать:

Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel pythonТест программы простым число 12421 Как установить eel python. Смотреть фото Как установить eel python. Смотреть картинку Как установить eel python. Картинка про Как установить eel python. Фото Как установить eel pythonТест программы составным числом 12879

Вывод

Связать несколько языков программирования вместе в одной программе возможно, но это не совсем хорошая идея, так как при запуске программы на стороннем ПК надо быть уверенным, что у пользователя установлены нужные сервисы/зависимости/ПО, например, стоит ли JVM. Для быстрой проверки работоспособности каких-то идей, модулей, логики можно попробовать использовать подход, описанный в статье. Данный способ позволяет экономить кучу времени, вместо того, чтобы мучаться и переписывать код на другой язык в надежде, что всё будет работать как надо. Этот способ может подойти в тех случаях, когда нет возможности разработать адекватную микросервисную архитектуру приложения, а нужно использовать несколько разных кусков кода/модулей.

Как итог, получилось связать Python + JS + Java + C + C# (+ HTML + CSS) в одной программе, сделав при этом полноценное десктопное приложение, которое работает быстро без лишних задержек при обращении к методам, написанным на другом языке. В таком подходе есть плюсы: можно использовать фишки других языков (например, использовать преимущества скорости в C, Java, C# с (или без) использованием многопоточности, задействующей несколько ядер процессора, а также можно реализовывать структуры, которые будут использовать меньше памяти нежели Python).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *