Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 9, 2011 19:56:54

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

инклуд в начале файла или в функции?

Вот и я о том же.
Как-то на проекте один str.lower занимал процентов пять от общего времени - так что, отказываться от него?
Он же такой удобный!
И незачем переписывать кривую реализацию case insensitive string!

str.lower, к слову - ну вообще неимоверно быстрая операция. Особенно, когда их немного



Офлайн

#2 Фев. 10, 2011 08:14:34

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

инклуд в начале файла или в функции?

Андрей Светлов
И незачем переписывать кривую реализацию case insensitive string!
исправлять баги и кривизну питона - это благое дело, но к нашей теме оно не относится.

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

Раз разработчики питона сделали такую возможность, тем более она привносит в общем случае только удобство, значит им нужно пользоваться.

Офлайн

#3 Фев. 10, 2011 08:57:46

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

инклуд в начале файла или в функции?

o7412369815963
где написано про правильно/не правильно.
В PEP-8.
o7412369815963
Раз разработчики питона сделали такую возможность, тем более она привносит в общем случае только удобство, значит им нужно пользоваться.
Про удобство это субъективно. Мне например не удобно.

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



Офлайн

#4 Фев. 10, 2011 10:36:37

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

инклуд в начале файла или в функции?

Отчего-то вспомнилось заявление одного из разработчиков Питона: “Мы все взрослые люди. Если программист хочет выстрелить себе в ногу - нужно предоставить ему возможность это сделать”.



Офлайн

#5 Фев. 10, 2011 19:50:57

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

инклуд в начале файла или в функции?

Александр Кошелев
o7412369815963
где написано про правильно/не правильно.
В PEP-8.
Там не написано про не правильно, там просто описан стиль оформления кода от Гвидо. Тем более импорт в методах не упомянут, возможно он тоже все иморты для метода размещает в начале метода.

Александр Кошелев
o7412369815963
Раз разработчики питона сделали такую возможность, тем более она привносит в общем случае только удобство, значит им нужно пользоваться.
Про удобство это субъективно. Мне например не удобно.
Используйте тот метод который вам больше нравится, хорошо что есть варианты, на вкус и цвет…

Офлайн

#6 Фев. 10, 2011 19:53:35

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

инклуд в начале файла или в функции?

Андрей Светлов
Отчего-то вспомнилось заявление одного из разработчиков Питона: “Мы все взрослые люди. Если программист хочет выстрелить себе в ногу - нужно предоставить ему возможность это сделать”.
темные какие-то у вас примеры, мы тут говорим о хорошем альтернативном способе…

Офлайн

#7 Фев. 10, 2011 19:53:51

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

инклуд в начале файла или в функции?

o7412369815963
Используйте тот метод который вам больше нравится, хорошо что есть варианты, на вкус и цвет…
Опять вспоминается выстрел в ногу и длинные рассуждения в python-dev об особенностях механизма импорта.

Или для вас будут авторитетны слова Бретта Кэнона, который на прошлом пайконе призывал использовать импорт внутри функции с крайней осторожностью?



Офлайн

#8 Фев. 10, 2011 21:34:59

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

инклуд в начале файла или в функции?

Андрей Светлов
Или для вас будут авторитетны слова Бретта Кэнона, который на прошлом пайконе призывал использовать импорт внутри функции с крайней осторожностью?
хочу узнать причину, а пока это из серии “дед мороз существует”

Офлайн

#9 Фев. 10, 2011 21:53:08

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

инклуд в начале файла или в функции?

Скорее из серии “земля таки вертится” :)
Импорт выполняет код модуля. Это чревато побочными эффектами.
Берется блокировка. Не очень критично для редко выполняемого кода, но попробуйте вставить .acquire/.release в целочисленную математику - сразу увидите разницу.
Сочетание побочных эффектов и блокировки может дать более чудесные, просто феерические результаты.

Ваш код работает. Неприятностей не случается. И всё отлично. Я тоже иногда перехожу дорогу на красный свет. При этом не заявляю, что это - хорошо и правильно, поскольку меня еще не разу не сбили.



Офлайн

#10 Фев. 10, 2011 22:08:50

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

инклуд в начале файла или в функции?

Андрей Светлов
Импорт выполняет код модуля. Это чревато побочными эффектами.
только при первом импорте модуля (не стартового файла) - так и должно быть.
если выполняется не только при первом импорте, то хочу увидеть пример.

кривой код чреват побочными эффектами и импорт тут не причем.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version