Найти - Пользователи
Полная версия: Конвертирование больших чисел в байтовоую строку
Начало » Python для экспертов » Конвертирование больших чисел в байтовоую строку
1 2 3 4 5 6
cybergrind
и вообще, похже чтото такое уже комуто надо было: from ctypes import c_buffer =) вот только как с нима надо поиметься что бы оно работало как надо - оянезнаю
evgenyl
Не нервничайте, питон намного чаще работает напрямую с памятью чем вам кажется и пишет и читает, и ничего страшного, виной тому злополучный GIL
ctypes и включение его в базовый пакет библиотек - прямое докозательство тому
в ctypes можно делать структуры в памяти передавать их компонентам языка написанным на С, потом обратно читать в питоне, всё это прекрасно работает.
Первый шаг статическая типизация, что бы это значило? подумайте, какой будет второй шаг ?
Вы меня немного не так поняли, мне не нужно расширение, не нужно править интерпретатор, я посто спросил есть ли возможность получить эту строку в языке, может я просто его не знаю
Про c_buffer, спасибо, посмотрю счас
Ferroman
Первый шаг статическая типизация, что бы это значило
В 3000 не будет статической типизации. Если у Вас есть другая инфа - давайте PEP.
Питон специально отгорожен от прямой работы с памятью.
И вообще
Although practicality beats purity. :)
evgenyl
PEP нет, пока просто разговоры, анатации к функциям введены для того чтобы облегчить жизнь писателей компиляторов питона
давно извесная философия питона, вот здесь это на русском http://ru.wikipedia.org/wiki/Python в разделе философия, кому интересно
но вопрос не об этом
shiza
Погляди модуль array, там кажется было что-то с памятью.
shiza
Долго и задумчиво глядел на ctypes.
Пока заткнулся на том, что такое длиное число ни в какую не хочет конвертироваться в ULongLong. Все норовит в Long.
В моем питоне (x86) они видимо еще в каком-то виде записано.
evgenyl
Мой вопрос просто любпытство, когдато давно я любопытствовал по поводу того как получить доступ к локальном переменной функции которая вызвала мою функцию. В конце концов нашёл, хотя тоже говорили питон типа не может так, передавай масив и всё
собственно вот пример
import sys

def func2():
print sys._getframe(1).f_locals

def func1():
a=10
b=15
func2()

func1()
Вот я думаю что, если это число у него уже есть, то почему бы его и не моч отдать его, в виде бинарной строки
ZAN
evgenyl
хотя тоже говорили питон типа не может так
Это была наглая дезинформаци :) - в модуле inspect предусмотрены функции для работы со стеком интерпретатора.
ZAN
evgenyl
sys._getframe(1)
Но все-равно - вызывать спрятанные методы некрасиво, даже если и можно.
evgenyl
а что красивее сделать 2 лишних преобразования или вызвать спрятанный метод ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB