Уведомления

Группа в Telegram: @pythonsu

#1 Май 22, 2012 14:26:03

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

Может, я не привык еще к тройке, но ситуация, когда тип возврата зависит от типа аргументов мне кажется, мягко говоря, опасной граблями как в оппосте. Нельзя было бы добавить доп. параметр или сделать вообще другую функцию.
А вообще, если бы доках был указан тип возвращаемого результата (тегом типа type), все было бы гораздо проще.

А все грабли с юникодом решились возвращению к подходу как в яве, только еще жестче: есть строки (юникод), есть двоичные буферы (правда, readonly), и конвертирование между ними может быть только с явным указанием кодировки. :)



Офлайн

#2 Май 23, 2012 03:05:27

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
Может, я не привык еще к тройке, но ситуация, когда тип возврата зависит от типа аргументов мне кажется, мягко говоря, опасной граблями как в оппосте.
в регулярных выражениях так же устроено
>>> import re
>>> re.search(r'.', 'abc').group(0)
'a'
>>> re.search(br'.', b'abc').group(0)
b'a'
>>>

asilyator
Нельзя было бы добавить доп. параметр или сделать вообще другую функцию.
как в WinAPI, когда 300 функций копируют одно и то же ?
прочитай все методы для str со всеми их особенностями
язык должен быть компактным, чтобы его можно было выучить



Офлайн

#3 Май 23, 2012 03:29:18

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

Да, но такие тонкости забывают указывать в документации, а еще там почти никто не указывает тип параметров и результата. На выходе получаем WTF.



Офлайн

#4 Май 23, 2012 08:25:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
Да, но такие тонкости забывают указывать в документации, а еще там почти никто не указывает тип параметров и результата.
то, что этого нет в документации - это недочёт
http://docs.python.org/py3k/library/os.html#os.walk

можно отправить им запрос на bugs.python.org
добавить “os.walk() реализована через os.listdir()”

там уже есть
“By default, errors from the listdir() call are ignored.”
но это не очень подчёркивает поведение при передаче байтового объекта
>>> t = os.walk(b'/tmp')
>>> list(t)
[(b'/tmp', [b'gpg-Vcf4u0', b'.X11-unix', ... 



Отредактировано py.user.next (Май 23, 2012 08:28:36)

Офлайн

#5 Май 23, 2012 14:41:58

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

Еще лучше было бы, если бы указывали именно тип возвращаемого значения. Если структура данных - с типом элементов.



Офлайн

#6 Май 23, 2012 16:58:18

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

MP3 тэги. Кодировка. Проблемы.

Как уже py.user.next заметил — создавайте баг, предлагайте патч.



Офлайн

#7 Май 23, 2012 17:12:48

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

Еще и патч предлагать? Баг репортить без уверенности, что его будет кто-то читать и если будет, то когда?



Офлайн

#8 Май 23, 2012 21:11:48

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

MP3 тэги. Кодировка. Проблемы.

Укажите номер — я прочитаю. И закоммитить могу :)



Офлайн

#9 Май 23, 2012 21:23:18

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

Может, и создашь тогда? :)



Офлайн

#10 Май 24, 2012 01:47:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
Еще лучше было бы, если бы указывали именно тип возвращаемого значения.
а там нормально объясняется
для os.walk() понятно, что возвращается генератор
а типы строк в генераторе объясняются в описании os.listdir()
http://docs.python.org/py3k/library/os.html#os.listdir

asilyator
Еще и патч предлагать? Баг репортить без уверенности, что его будет кто-то читать и если будет, то когда?
обычно это зависит от времени суток у них
документация там легко исправляется
перед описанием бага нужно посмотреть, не исправлен ли он
было:
http://docs.python.org/py3k/library/os.html#os.walk
стало:
http://docs.python.org/dev/library/os.html#os.walk



Отредактировано py.user.next (Май 24, 2012 01:48:27)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version