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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> про перевод FAQ, сложности, комментарии, обсуждение и т.д 
:(
    Опции темы
setq
Дата 17.10.2005, 23:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











не могу перевести такой вот абзац ((

Цитата
If the object has ever been a local variable in a function that caught an expression in an except clause, chances are that a reference to the object still exists in that function's stack frame as contained in the stack trace. Normally, calling sys.exc_clear() will take care of this by clearing the last recorded exception.


это из Programming FAQ, статья номер 1.6.11
  Вверх
Void
Дата 18.10.2005, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



Попробую...
Цитата
Если объект когда-либо использовался в качестве локальной переменной в функции, перехватившей исключение, есть вероятность, что ссылка на него сохранилась в трассировке, содержащей кадр стека этой функции. Как правило, проблема разрешается вызовом sys.exc_clear(), которая уничтожает информацию о последнем брошенном исключении.


Немножко коряво... Возможно даже стоит заменить русский перевод кальками: трассировку на "стектрейс" и кадр на "фрейм".

Я несколько сомневаюсь, что имелось в виду: просто перехват исключения в except, или же проброс нового исключения из другого обработчика. Скорее все-таки первое.

Кстати:
Комментарий к 1.2.11 (про тернарный оператор). ИМХО, красивее всего было бы сделать оператор if выражением, как в Ruby:
Код
x = if a: b
    else: c

Но это мое сугубо личное мнение smile

Это сообщение отредактировал(а) Void - 18.10.2005, 10:47


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Young
Дата 18.10.2005, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А где будет опубликован перевод?
PM MAIL WWW   Вверх
setq
Дата 18.10.2005, 11:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Void, собственно в этом проблема: как воспроизвести то, о чём говорится в тексте абзаца? если можно будет "сказать" это на Питоне )), то труда не составит сказать это и по-русски. мои эксперименты с шелом ничего не прояснили. ((
Цитата
...Возможно даже стоит заменить русский перевод кальками...

я в таких случаях ещё не решил что делать. я либо просто оставляю английское слово как есть, либо ставлю его в скобках после своего перевода в надежде, что кто-то предложит лучший вариант. впрочем, к словам "трассировка" и "кадр" у меня нет совершенно никаких претензий.
Цитата
ИМХО, красивее всего было бы сделать оператор if выражением, как в Ruby

к стыду своему так и не заглянул в упомянутый proposal и не посмотрел чего предлагал народ. я всеми руками за тернарный if и за многие другие вещи, которые легче писать, чем читать )))) являюсь поклонником C'шного синтаксиса. )) Ruby я не знаю. качать доки и изучать их - лень. вот если бы кто-нибудь выложил обзорную статью про Ruby, как это в своё время сделал foRaver о Питоне, то возможно это бы меня вдохновило. ))

Young:
Цитата
А где будет опубликован перевод?

не знаю. неплохое место для подобных вещей - Vingrad'овский FAQ.

какие будут ещё идеи?
  Вверх
setq
Дата 25.10.2005, 23:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











HELFEN!

Цитата
Lists are equivalent to C or Pascal arrays in their time complexity; the primary difference is that a Python list can contain objects of many different types.


у меня вызывает сложность перевод ...in their time complexity. какого чорта?! )))

и ещё, как по-русски сказать list comprehension? есть ли общепринятый термин?

(в книге "Основные концепции языков программирования" это переведено как "полные списки". с таким же успехом можно было перевести... ну я не знаю... floppy disk -- "мягкий круг")
  Вверх
Sardar
Дата 26.10.2005, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Цитата(setq @ 25.10.2005, 22:16)
у меня вызывает сложность перевод ...in their time complexity. какого чорта?!

Разные структуры требуют разного времени на свои операции. Например хештаблица хороша в поиске, но имеет эффективное ограничение по размеру (т.е. забивать её можно до верху, но эффективность будет падать при 70-80% заполнения).

Связанные списки имеют константное и самое малое из всех время вставки элемента.

Это всё называют time complexity smile

В тексте имелось в виду что списки эквивалентны по скорости массивам из C/Pascal (во что вериться с трудом...), разница в том что списки могут хранить элементы любых типов.

Почему говорю что веритьсй с трудом, т.к. массив обьектов определьённого класса в C++ это кусок памяти, в котором действительно храняться обьекты в ряд, смещение высчитываеться по индексу*длинну_структуры_обьекта. Чтение такого массива занимает константное время, самое быстрое из возможных.

Списки в питоне содержат универсальный тип (по моему структура на все примитивы, включая ссылки на обьекты). Xраня обьекты, на самом деле храняться ссылки, обьекты же расположенны (зачастую в рандомном порядке) в памяти(куче). Читая обьект, сначала считываеться ссылка из массива, затем сам обьект. Это занимает и больше памяти и больше времени на доступ, и железо это не любит, т.к. кешь данных процессора может очиститься при обращении к памяти за следующим обьектом, таких обращений может быть много (пробег в цикле).

Что то увело на оффтоп smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
setq
Дата 26.10.2005, 09:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











нет. это не оффтоп. спасибо за соображения.

(в вопросах касающихся Питона невольно веришь человеку из Голландии smile )
  Вверх
srd
Дата 27.10.2005, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 7
Всего: 49



Не могу перевести последнюю часть предложения (после тире) smile
Цитата

knowing that a string is immutable makes it easy to lay it out at construction time -- fixed and unchanging storage requirements.




--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Sardar
Дата 27.10.2005, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



как следствие не изменяемости строк становиться возмжным размещать их эффективно в памяти в момент загрузки/сборки, что согласуеться с требованиями к постоянным не изменяемым хранилищам данных.

Кстати это действительно так, любые операции над строками порождают новые строки (что требует памяти), но строки могут быть связанны вместе:

a = "тест";
b = "тест";
c = a + b + "ура"

Код породит всего две константы: "тест" и "ура", a и b указывают на один и тот же обьект. Переменная c может содержать сложную строку - связанный список строк(блоков символов). Это всё позволяет очень сильно экономить память, за счёт больших скачков по памяти. С памятью проще работать, т.к. любая операция при которой изменяеться длинна строки, особенно на увеличение, потребует нового цельного блока в памяти для размещения строки. Старый блок будет выброшен. При не мутируемых строках другие переменные могут по прежнему ссылаться на старый блок. Это особенно актуально для списков.

Цитата(setq @ 26.10.2005, 08:25)
в вопросах касающихся Питона невольно веришь человеку из Голландии

Это зря, я изучал интерпретаторы/компиляторы/формальные грамматики etc. просто потому что интересно. Во внтренностях питона не разбирался smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
srd
Дата 27.10.2005, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 7
Всего: 49



Sardar, спасибо.



--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
setq
Дата 28.10.2005, 22:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Core Language -- как это сказать по-русски?
  Вверх
Sardar
Дата 28.10.2005, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Смотря в каком контексте. Обычно это основа языка, т.е. стандартные библиотеки и т.п.
Также можно сказать о синтаксических конструкциях языка, о если убрать все библиотеки, то то что останеться и встроенно в компилер/интерпретатор.
Также можно сказать что это формальная грамматика языка, хотя так редко встретишь.

Выложи полное предложение/абзац.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
setq
Дата 29.10.2005, 08:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











так называется раздел в Programming FAQ. привожу контекст:
Цитата
1.2 Core Language
1.2.1 Как из функции получить доступ к глобальной переменной?
1.2.2 Как определяются локальные и глобальные переменные в Питоне?
1.2.3 Как организовать совместный доступ к глобальным переменным для нескольких модулей?
1.2.4 Как правильнее использовать импортирование?
1.2.5 Как передать дополнительные или именованные параметры (optional or keyword parameters) из одной функции в другую?
1.2.6 Как написать функцию, которая возвращает значения в параметрах (вызов по ссылке)?
1.2.7 Как в Питоне написать функционал (higher order function)?
1.2.8 Как в Питоне получить копию объекта?
1.2.9 Как узнать методы и атрибуты объекта?
1.2.10 Как получить имя объекта? (перейти)
1.2.11 Существует ли эквивалент тернарному оператору Си "?:" ?
1.2.12 Можно ли на Питоне составить выражение, которое трудно прочитать (obfuscated one-liners)?

  Вверх
Sardar
Дата 29.10.2005, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Основы языка/методология языка. Т.е. то что можно делать на питоне без подключения каких либо особых либ + основные приёмы используемые в языке.

Назови просто: Основы языка smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
srd
Дата 31.10.2005, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 7
Всего: 49



Сегодня узнал, что у нас на форуме есть wiki - http://wiki.vingrad.ru/
Может быть перенести работу по перефоду FAQ туда?? ИМХО, будет более удобно и продуктивнее...


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


 




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


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

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