Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как пользоваться справкой в Python – Ужас! 
:(
    Опции темы
MutagenX
Дата 28.10.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.10.2008

Репутация: нет
Всего: 1



Прошу помощи у тех, кто сможет научить пользоваться документацией
Допустим, у меня стоит задача, сделать функцию SWAP
Задача ее проста
На вход подаем 0x7830505F
На выходе получаем 0x5F503078

Вот как узнать есть такая функция в Python`е или надо писать свою?
Естественно я гуглил и в книгах искал и в стандартной справке тоже лазил
Результат - нулевой, вообщем времени убил много
сел и написал свою за несколько минут, вот:
Код

def SWAP(value):
    """ SWAP """
    b1=(value&0x000000FF)<<24
    b2=(value&0x0000FF00)<<8
    b3=(value&0x00FF0000)>>8
    b4=(value&0xFF000000)>>24
    value=b1|b2|b3|b4
    return value;


Но, что-то мне подсказывает в нутрии, что это не правильно
Ну, или вот надо rotate right сделать
Код

def RORD(value, count):
    """ rotate_right_dword """
    shift = 32-(count%32)
    if shift != 32:
        low = 0xFFFFFFFF&(value << shift)
        value >>= count
        value |= low;
    return value;

Надо чтобы любое число можно было так изменить, то есть
dword, word, byte, qword
как бы чтобы функция сама определяла размер операнда
вот опять же определить размер операнда, что это байт или слово или двойное слово и т. д., как?
как этой справкой пользоваться чтобы не парится, на данный момент мне проще написать на си длл и вызвать уже из нее то, что мне надо - чем вот так, ужасно пробовать гуглить, посоветуйте, как вы ищите
ну и еще, если не затруднит, как эти два примера улучшить чтобы как профессионалы это делают
заранее спасибо!


Это сообщение отредактировал(а) MutagenX - 28.10.2008, 18:18
PM MAIL   Вверх
Daevaorn
Дата 28.10.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(MutagenX @  28.10.2008,  19:05 Найти цитируемый пост)
профессионалы это делают

Профессионалы выбирают инструмент соответствующий задачи. Питон явно не лучший кандидат для реализации разнообразных низкоуровневых битовых операций.
PM MAIL WWW   Вверх
MutagenX
Дата 29.10.2008, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.10.2008

Репутация: нет
Всего: 1



Daevaorn
да, это просто пример, может действительно неудачный и я не думаю что на Python`е это трудно решаемая задача
скажем так – это не тот ответ на мои вопросы!

Цитата(Daevaorn @  28.10.2008,  18:12 Найти цитируемый пост)
Питон явно не лучший кандидат для реализации разнообразных низкоуровневых битовых операций. 

Теперь понятно почему нагуглить ничего не получилось
Допустим у нас стоит задача написать модуль, по принципу работы напоминающий pelib, но только для формата файлов *.swf и вот там есть в формате задача именно с битами поработать, чтобы получить нужные данные
И что же теперь из-за этих нескольких бит отказываться от реализации целого модуля на питоне!?  

Хотелось бы услышать советы тех кто действительно разбирается в вопросе и программирует хорошо на Python`е
Просто код что я выложил выше семантически ужасен – я уверен что его можно как-то написать одной, двумя строчками, вот и просил простой пример чтобы показали, как это должно быть профессионально!

название темы про справку или даже хороший справочник – вот главный вопрос!
К примеру для .NET есть MSDN(ОФФлайн-справочник!), там лезешь в раздел где все модули входящие в этот фрэймворк – и краткое описание, там щелкаешь на нужном там еще подразделы и т. д.
И как до класса доходишь там есть описание ВСЕХ функций, свойств и т. д.
стандартная документация Python`а, там типа ты уже все знаешь, и вот чего-то забыл, тогда да, найти чего-то можно, а вот если не знаешь то МАССА ВРЕМЕНИ УХОДИТ НА ПОИСКИ
вот к примеру, я знаю что есть в Python`е модуль pelib, но в стандартной справке его описания нет! 
есть еще dir и help(которые не решают данного вопроса! – тоже много времени уходит), но и мы же не в век динозавров живем чтобы в консольном окне справку читать!
Вот и хочу узнать как это делают профессионалы, быстро находят нужную информацию

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0938 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.