Передача данных через мост
Преобразуйте значения между Mojo и Python.
«Передача данных через мост» — бесплатный урок Mojo Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Mojo Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Mojo Academy содержит 4 уроков всего.
Два мира значений
У Mojo есть собственные типы, и у Python — свои. Взаимодействие означает преобразование значений при переходе между этими двумя мирами.
Из Mojo в Python
Когда вы передаёте значение Mojo в вызов Python, Mojo автоматически оборачивает его в PythonObject, понятный Python.
var n: Int = 42
print(np.sqrt(n))Числа преобразуются без проблем
Простые значения, например целые числа и числа с плавающей точкой, легко переходят между системами, становясь в Python целыми числами и числами с плавающей точкой без дополнительных действий с вашей стороны.
var x: Float64 = 3.5
var r = math.floor(x)Строки тоже переходят
При передаче строка Mojo String становится строкой Python, поэтому функции для работы с текстом просто работают через мост.
var name = String("Mojo")
print(name)Из Python в Mojo
При обратном переходе результаты Python поступают как PythonObject. Затем при необходимости преобразуйте их в собственный тип Mojo.
var obj = math.factorial(5)Извлечение целого числа
Чтобы получить из результата настоящее число Mojo, создайте значение нужного типа из объекта — например, обернув его в Int.
var count = Int(math.factorial(5))Извлечение числа с плавающей точкой
Та же идея работает с дробными числами: создайте Float64 из результата Python, чтобы использовать его в математике Mojo.
var ratio = Float64(math.pi)Извлечение строки
Таким же способом превратите текстовый результат Python в строку Mojo String, чтобы хранить и обрабатывать его непосредственно в Mojo.
var label = String(obj)Индексация коллекций Python
Вы можете индексировать результат в виде списка или массива Python с помощью квадратных скобок, получая другой PythonObject для преобразования.
var first = arr[0]Преобразуйте значения на границах
Полезная привычка: оставляйте значения в виде PythonObjects во время работы с Python, а затем преобразуйте их в типы Mojo на контролируемой вами границе.
Почему это важно
Понимание того, как данные проходят через мост, делает ваши типы предсказуемыми, поэтому результаты Python безопасно поступают в быстрый код Mojo. 🌉
Быстрая проверка
Вспомните, как превратить результат Python в число Mojo.
Итоги
Вы увидели, как значения Mojo при передаче превращаются в PythonObjects, и научились преобразовывать результаты обратно в целое число, число с плавающей точкой или строку. 🎯
Изучай Mojo с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Передача данных через мост» бесплатный?
Да — полный текст урока «Передача данных через мост» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Mojo Academy, подпишись на CoddyKit PRO. Курс Mojo Academy содержит 4 уроков всего.
Чему я научусь в уроке «Передача данных через мост»?
Преобразуйте значения между Mojo и Python. Ты практикуешь Mojo Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Mojo Academy?
Предыдущий опыт не требуется. Mojo Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Передача данных через мост»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Mojo Academy?
Да. Каждый урок Mojo Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Импорт модуля Python
- Вызов функций Python
- Передача данных через мост
- Когда использовать взаимодействие с Python