Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
14.11.2010, 18:16 | Python, как внутри самого модуля узнать путь к нему? | У объекта модуля и можно спросить. Примерно вот так:
Работает для почти всех случаев. Подробнее в документации: __file__ is the pathname of the file from which the module was loaded, if it was loaded from a file. The __file__ attribute is not present for C modules that are statically linked into the interpreter; for extension modules loaded dynamically from a shared library, it is the pathname of the shared library file. |
Litkevich Yuriy, | ||
14.11.2010, 14:45 | Python, раскладывание модулей по разным папочкам | А что в нём? Если добавить src в pythonpath, то при импорте будет происходить поиск указанных модулей и в этой папке. Потому конструкция
Будет работать и в group1\foo.py Вот пример main.py
Всё импортируется, остальные файлы прикрепил. Результат такой: /System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 /Users/novak/prog/src/main.py __init__ in group1 __init__ in group2 Cat in group1.foo Murka Dog in group2.foo Barbos Dog in group1.bar Sharik |
Litkevich Yuriy, | ||
13.11.2010, 0:55 | плохая книга про Питон | В своё время мне показалась не такой и плохой, кстати. А вообще, конечно, Dive into Python - очень, имхо, неплохо. Также можно разобрать Python Koans - мне очень понравился подход, прям проникаешься TDD |
Litkevich Yuriy, | ||
12.11.2010, 23:26 | Python, вопрос о переменных | Не обязательно с таким именем, но если ты попытаешься объявить вообще без параметров - вылетит исключение. Питон хочешь или не хочешь, объект передаёт, а там уже ты разбирайся ![]() А исключение, что характерно, появится только при попытке использовать эту функцию
Результат: I am alive Traceback (most recent call last): File "/Users/novak/git/py_koans/py_koans/python 2/koans/test.py", line 10, in <module> object.func() TypeError: func() takes no arguments (1 given) При передаче лишнего параметра также вылезет исключение:
Результат: I am alive Oh, no Traceback (most recent call last): File "/Users/novak/git/py_koans/py_koans/python 2/koans/test.py", line 11, in <module> object.func(1) TypeError: func() takes exactly 1 argument (2 given) |
Litkevich Yuriy, | ||
12.11.2010, 23:15 | Python, вопрос о переменных | Если это просто функция класса, то без "селфа" никак. У тебя в любом случае первым параметром передаётся текущий объект. иначе просто неоткуда такой переменной, как self взяться. Т.е. тебе нужно добавить его в объявление
|
Litkevich Yuriy, | ||
12.11.2010, 22:58 | Python, вопрос о переменных | self - это просто переменная. в функциях класса она ссылается на объект, т.е. это не какое-то ключевое слово. Другими словами, в функцию класса передаётся объект параметром, явно. Через эту переменную можно получить доступ к полям объекта. Область видимости этой переменной такая же, как и у всех, объявленных внутри текущей фукнции - это сама функция. В рамках класса можно сделать вот так:
Результаты: 3 Потому рекомендуется все используемые поля без крайней необходимости объявлять сразу явно, или в теле класса, или в конструкторе-функции __init__ Да, не забывай, что в питоне все переменные - ссылки на объекты. Потому и можно ими так легко играться. |
Litkevich Yuriy, | ||
3.12.2009, 19:39 | Как правильно писать по-английски | Дело в том, что в английском в названиях принято многие слова писать с заглавных букв. Имхо, это именно отсюда пошло. Подробнее - http://geevee.livejournal.com/39935.html |
Sokoloff, | ||
27.11.2009, 6:43 | Создание "синонимов" почтового адреса | на gmail есть фишка с плюсами: example@gmail.com example+qqwe@gmail.com example+qe@gmail.com example+2de@gmail.com По сути приходят на один ящик. Я эту фичу при тестировании использовал, когда нужно было работать с регистрацией на сайте. |
kwisp, | ||
18.10.2009, 22:41 | Помогите перевести термины | Чуть подправлю, имхо, так получше на вид. Цитата Встраиваемые системы, когда-то тихая заводь информационных технологий, сейчас проявляют себя как промышленность с многомиллиардным капиталом, которая уже проникает в наш быт и изменяет нашу жизнь. |
AD, | ||
5.10.2009, 20:15 | статистика перевода | Ок, с сентября я именно правки себе в отдельный файл заношу. В августе могли быть косяки, постараюсь за этот год сделать tmx-файл исправлений. |
Litkevich Yuriy, | ||
6.9.2009, 13:22 | статистика перевода | Сентябрь 2009 Заменил файлики, которые обычно перевожу в тестовом проекте для проверки общего файла, на документацию из 2009.01 - вот что получил: Общее число сегменов: 497 467 Число уникальных сегментов: 227 264 Переведено уникальных сегментов: 71 667 (~31,53%) Если брать по тем, что есть у нас в репозитории: Общее число сегменов: 497 467 Число уникальных сегментов: 212 014 Переведено уникальных сегментов: 76 306 (~35,99%) Есть предложение пока ориентироваться на то, что есть в репозитории. Потом, после перевода большей части, просто будем смотреть наиболее свежую версию доков от нокии. |
Litkevich Yuriy, | ||
27.8.2009, 16:51 | Помогите перевести термины | По идее само расширение называется всё жеComposite, Вот тут от nvidia инфа Так что или "расширение Х протокола", или "расширение Composite", хотя и "расширение X Composite" можно, но это скорее в силу богатства русского языка. |
AD, | ||
23.7.2009, 15:37 | Подарок на свадьбу | а я одному подарил надувной диван, чуть менее банально) |
AD, | ||
17.7.2009, 0:16 | Помогите перевести термины | Litkevich Yuriy, | |||
11.5.2009, 13:52 | Помогите перевести термины | Цитата Заметьте, что единственной специфичной для этого пользовательского виджета частью является имя класса. Можно ещё сказать "единственной изменённой", т.е. подразумевалось, что только Plugin добавили в имя, а остальное оставили из примера. |
Litkevich Yuriy, | ||
19.4.2009, 0:21 | floor+ceil | Ты походу делишь int на int, а потом пытаешься куда-то округлить? У тебя заведомо будет 2, потому как ты уже в floor и ceil передаёшь просто двойку. Приведение типов в любом виде спасёт отца русской демократии. |
LE0N, | ||
8.3.2009, 21:40 | Объявление для Qt RTT | С олифантом я немного поигрался, но не очень получилось. Потому в этот раз по-старому обновил. |
Litkevich Yuriy, | ||
24.2.2009, 23:14 | Помогите перевести термины | Стиль java реализует собственные метки кнопок ввиду упрямства Java по отношению к центрированному в окне содержимому также когда кнопка имеет иконку. Почти согласен, мой вариант: The java style implements its own push button label since Java-contrary to windows-center button contents also when the button has an icon. Цитата Стиль Java реализует собственные надписи в кнопках, так как Java плохо воспринимает центрированное относительно окна содержимое кнопки или иконку в ней. |
alex977, | ||
14.1.2009, 8:27 | Объединение tmx-файлов | На страничке ресурсов программы OmegaT есть ссылка для скачивания java-сценария TMXMerger, предназначенного для объединения tmx-файлов. Синтаксис у этого сценария очень простой: Цитата TMXMerger-1.0.jar <исходный файл 1> <исходный файл 2> <результирующий файл> Например, при Цитата TMXMerger-1.0.jar source_1.tmx source_2.tmx project_save.tmx Объединяются два файла source_1.tmx и source_2.tmx В результирующем файле будут записаны все пары переводов, что были в первом и втором файле. Если встретились разные переводы одного сегмента в исходных файлах, то все варианты будут записаны в результирующем файле. Получится запись примерно такого вида:
После этого нужно вычистить этот файл от лишний дублирующих записей. С этим справляется сама OmegaT. Если создать проект со всеми необходимыми файлами для перевода и подложить в него наш объединённый tmx-файл, то остаётся только запустить генерацию переведённых файлов, и лишние записи из нашего исходного файла перевода будут удалены. При этом сохраняется первая запись из встреченных. Потому при объединении файл, который был передан первым в скрипт TMXMerger имеет больший приоритет в плане дублирования записей. Мне кажется, что стоит ещё немного поэкспериментировать, в эту тему писать результаты этих опытов. После этого дополнить это руководство и выложить в вики и траке. |
alex977, Litkevich Yuriy, Анна, | ||
26.12.2008, 21:31 | Помогите перевести термины | Тут подразумевается разница как в ссылочных типах и типах значений... Но вообще, у Qt в этом плане своя спицифика. Имхо, стоит как раз как ссылочный тип и тип значений перевести, ибо идентификатор тут совершенно ни при чём. |
alex977, | ||
4.11.2008, 19:26 | QHttp и несколько IP в системе | С помощью этой функции - для конкретного сокета. Соответственно, получив информацию о всех доступных адресах, можно выбрать нужный и на нём повесить сокет. |
Litkevich Yuriy, | ||
14.9.2008, 13:46 | CAT и TM | Litkevich Yuriy, | |||
8.9.2008, 20:11 | CAT и TM | апуск OmegaT из командной строки с параметром OmegaT.jar path/to/project и чтобы это приводило к открытию проекта (анализ как обычно) и затем принудительно (т.е. без помощи человека) исполнение команды "Создать переведенные документы" с последующим завершением работы. В общем, можно попробовать. На йапапке, т.к. прикрепить не влезает по объёму. Краткая инструкция: запускаем с параметром project-path=путь_до_папки_проекта C:\dist\OmegaT.jar project-path=C:\test_omegat\test\ При этом происходит открытие проекта, создание переводов, закрытие проекта и закрытие программы. Внешних проявлений данного процесса быть не должно. Если project-path не указан, то должно работать как обычно. П.С. Встретил бы того, кто придумал так интергировать интерфейс и функционал да ещё и в разных потоках, плюнул бы в лицо. |
Litkevich Yuriy, | ||
6.8.2008, 15:24 | Обновлен архив с переведенной документацией Qt. | На подходе еще часть переводов.. Думаю в августе-сентябре добить таки XML модуль. |
void*, | ||
2.8.2008, 9:38 | Учебное пособие | *Рука сразу потянулась почему-то к оригинальной документации. А там написано Цитата Try changing the LCD number to add more digits or to change mode (QLCDNumber::setMode()). You can even add four push buttons to set the number base. You can also change the slider's range. Тобишь нужно добавить четыре кнопки для выбора основания системы счисления (привет калькулятору с его hex oct bin dec). А также можно изменить диапазон значений, да и даже нужно при изменении основания. |
Litkevich Yuriy, | ||
![]() |
Текстовая версия | Сейчас: 1.9.2024, 3:07 |