Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
#GOOG
Южная Корея оштрафовала Google на 177 миллионов долларов за блокировку настройки Android
СЕУЛ (Рейтер) -Антимонопольный регулятор Южной Кореи оштрафовал Google Alphabet Inc на 207 миллиардов вон (176,64 миллиона долларов) за блокировку пользовательских версий своей операционной системы (ОС) Android, что стало второй неудачей американского технологического гиганта в стране менее чем за месяц. Корейская комиссия по справедливой торговле (KFTC) заявила во вторник, что условия контракта Google с производителями устройств представляют собой злоупотребление доминирующим положением на рынке, что ограничивает конкуренцию на рынке мобильных ОС.
Источник: https://ca.finance.yahoo.com/news/korean-antitrust-agency-fines-google-030355764.html
#GOOG#GOOGL
Акции Google обновили исторический максимум
👉 Сегодня Google представила новый инструмент искусственного интеллекта - Gemini 2.0, которую генеральный директор Alphabeth Сундар Пичаи называет «самой мощной моделью» технологического гиганта.
🟢 Акции Google выросли почти на 5% в ходе дневных торгов, достигнув рекордного максимума.
👉 Gemini 2.0, по словам создателей, обладает более мощными возможностями обработки изображений и звука. Google представила этот инструмент через год после выпуска Gemini 1.0, что является признаком усиления конкуренции в области ИИ.
📢 «Если Gemini 1.0 был направлен на организацию и понимание информации, то Gemini 2.0 призван сделать её гораздо более полезной», — написал Пичаи в своём блоге.
🤔 Я, как вы помните, держу Google от 158 долл. И, конечно, радуюсь таким новостям. Но жаба уже 😂
❓ А вы держите Google? Как думаете, пришло уже время фиксировать прибыль? Или выше 200 пойдём? Кто что думает по этому поводу? 👇
Я закрываю на этих уровнях уже...
Саммари стрима Вячеслава Голика в Клабхаусе: ответы на вопросы о Тесле, фондах Арк и дисраптив-компаниях, а также прогнозы на 2021-2023 годы.
ЧАСТЬ 1
Вопросы:
❓ Т.к. фонды Арк уже сильно выросли, то многие сомневаются, смогут ли фонды продолжить свой рост?
— Кэти Вуд говорит, что "все только начинается". Вячеслав с этим абсолютно согласен.
❓ Что с #TSLA Теслой?
— В ближайшее время будет пересмотр цены на акции #TSLA Ark'ом
После пересмотра целевой цены на Теслу это может стать еще одним драйвером роста для акций Tesla
❓ У какого из фондов Арк максимальный потенциал?
— ARKG, т.к. компании, входящие в него, еще почти не начали свой рост.
❓ Зачем разбираться вообще в компаниях, если можно просто купить фонд от Арк-инвест?
— Нет никакой необходимости выбирать компании и брать на себя дополнительные риски. Фонды более диверсифицированы и могут заменить покупку отдельных акций.
❓ Что думаете про #PLTR? Держите ли Палантир в своем портфеле? Есть ощущение, что он сильно "надут"
— Палантир имеет большой потенциал на рынке. Арк верит в развитие #PLTR. Вячеслав следит за этой компанией, но не считает эту компанию "лучшим выбором". Крутые темпы роста. Но несмотря на возможные перспективы, у Палантира есть конкуренты, которые могут помешать большому росту.
❓ Стоит ли опасаться антимонопольных проблем у бигтехов из FAANG?
— Вячеслав считает, что только #GOOG является монополистом, у остальных куча конкурентов. У #AMZN, #FB и #AAPL конкурентов предостаточно — однозначного доминирования нет. Проблемы маловероятны.
❓ Что думаете про #SPOT Spotify?
— Растут очень мощно, развиваются. Не зря их покупают Арки. Например, Spotify единственные есть в мультимедийной системе Теслы. В целом это направление и индустрия очень перспективные.
❓ Как оцениваете профессионализм Кэти Вудс и эти фонды в целом?
— Они часто дают интервью, открывают информацию о том, с кем они работают. Это в совокупности позволяет иметь представление о том, кто и как управляет фондом, какой анализ они используют (ответ: фундаментальный), каких принципов придерживаются. Кэти Вудс — одна из немногих, кто делал верные прогнозы, которые сбылись. Вячеславу фонды очень нравится и он часто свой выбор акций сравнивает с выбором Арк-инвест.
❓ Где лучше смотреть информацию о компании?
— Смотреть лучше форму 10-K, она доступна у каждой компании, чьи акции публично торгуются на бирже
❓ Что думаете про #NVDA?
— Во-первых, продукция используется для майнинга биткоина, плюс геймеры, плюс инвестиции в искусственный интеллект. Все это — хорошие драйверы роста.
❓ Тесла уже переоценена, ведь есть много вариантов других, а Тесла ведь уже не будет расти так быстро?
— Это не так, Тесла строит новые заводы. Если оборот увеличится в 2 и более раз, а капитализация компания на 10-20% за год, то акция будет уже недооцененной.