@pydjango

Страница 197 из 1273
Pavel
27.03.2017
15:36:53
ой там в супер ProductListView
У тебя кваргов нет в описании методп

Pavel
27.03.2017
15:39:01
И лично я предпочитаю писать в несколько строк qs = super.().getqueryset() qs = qs.filter() qs =qs.orderby() return qs

Google
Senpos
27.03.2017
15:39:13
Было бы прикольно, если бы в каждой новой паре {} были свои ''. :) Но это я уже привередничаю.

Serge
27.03.2017
15:39:40
Жуткая конструкция

Senpos
27.03.2017
15:40:44
Жуткая конструкция
Это адресовано мне или @zagrebelin ?

Serge
27.03.2017
15:41:06
Это про f-string

Не люблю такие вещи

Senpos
27.03.2017
15:41:22
Предпочитаете воспользоваться .format?

Serge
27.03.2017
15:41:36
Я лично предпочитаю %

Senpos
27.03.2017
15:41:42
Конкретно в этом случае. Я читал предыдущие сообщения и знаю, что в целом вам нравится %s % x

Serge
27.03.2017
15:41:44
Они быстрее

Senpos
27.03.2017
15:41:44
:)

Pavel
27.03.2017
15:43:10
А ф-строки нагляднее (конечно, если не пихать в них все что есть в коде)

Senpos
27.03.2017
15:44:26
А ф-строки нагляднее (конечно, если не пихать в них все что есть в коде)
Согласен. Для маленьких строк предпочитаю f-strings, для больших - format. Не вижу смысла в %. Хотя, тут наверное кому что к душе припало. :)

Serge
27.03.2017
15:46:56
А ф-строки нагляднее (конечно, если не пихать в них все что есть в коде)
Мне не нравится что она берет локальные переменные, а не явно указанные

Google
Serge
27.03.2017
15:47:08
PHP подобненько

Или я устарел :)

Pavel
27.03.2017
15:48:00
В чем проблема?

Serge
27.03.2017
15:50:15
В том что именна переменных внутри строки

Сразу напомнило 'Привет $name' из PHP

Senpos
27.03.2017
15:52:15
Это неплохо для небольших строк. Тем более, они визуально разграничиваются от строки при помощи {}. Рекомендую еще когда-нибудь таки попробовать, иногда экономит немного времени :)

Pavel
27.03.2017
15:53:19
И если много переменных надо в строку ввести, это тоже удобно.

Romka
27.03.2017
15:54:43
Всем привет

Senpos
27.03.2017
15:55:10
Привет

Serge
27.03.2017
15:55:28
С этим иногда такой гавнокод генерируют по PHP помню, что ничего хорошего

Senpos
27.03.2017
15:56:02
Ну, вот как я - делать, наверное, не надо. :) Ради эксперемента было.

Pavel
27.03.2017
15:56:18
С этим иногда такой гавнокод генерируют по PHP помню, что ничего хорошего
Это инструмент. кто как его применяет - вот вопрос

Serge
27.03.2017
15:59:29
PHP тоже инструмент, но когда инструмент многое позволяет, ничего хорошего не получается

Pavel
27.03.2017
16:03:35
Мне хочется думать, что питон-разраб в среднем чуть выше уровнем, чем средний пхп-дев.

Хотя, глядя на валюты в ф-строке на скртншоте вверху, начинаю чуть-чуть​ сомневаться. ?

Senpos
27.03.2017
16:08:01
Ради эксперемента было.

Denis
27.03.2017
16:12:44
Я использую + для формата строк, я извращенец?)

Когда питон <3.6

Google
Serge
27.03.2017
16:16:50
Копипаста: https://cito.github.io/img/f-strings-1.png

Если не 3.6 то лучший выбор %, с учетом что 3.6 еще долго не будет основным, то можно смело использовать % и не париться.

Dmitriy
27.03.2017
16:25:45
Копипаста: https://cito.github.io/img/f-strings-1.png
это вроде для случая, когда одна переменная в строке, нет?

Serge
27.03.2017
16:27:29
В тесте 6 переменных в массиве и 200 значений в цикле, ну я могу код скинуть

Serge
27.03.2017
16:28:14
Потому что он в 2 раза медленее, как бы

b0g3r
27.03.2017
16:28:24
куда спешим? :)

Serge
27.03.2017
16:28:29
Ну ок не в 2, но в полтора

А чем % хуже формата? Если он еще и быстрее

b0g3r
27.03.2017
16:29:01
это точно то место, где ваша программа тормозит?)

Serge
27.03.2017
16:29:35
А зачем мне пользоваться идентичной функцией которая гарантированно медленнее, с учетом что она ничем не хуже?

b0g3r
27.03.2017
16:31:19
вот здесь достаточно четко объяснено чего нет в %

Serge
27.03.2017
16:33:23
Все что там перечисленно легко решается чкерез именнованные параметры. все это есть. И повторение и заданный порядок

Senpos
27.03.2017
16:33:30
Лично мне сильно нравятся именованные аргументы в .format. Это наверное ключевое, что могу выделить

Google
Serge
27.03.2017
16:35:23
Ты же всегда можешь сделать '%(url)s' % {url: 'url'}

b0g3r
27.03.2017
16:36:07
Только в словаре наоборот ключи

а могу ли я сделать %(url).foo?

а '%(url[0])'?

Serge
27.03.2017
16:36:54
'%(url)s' % {url: url[0]}

В чем проблема

b0g3r
27.03.2017
16:37:12
'%s %s %s' % (*a)

а так

так ни в чем, и контактенация тоже так умеет :)

Admin
ERROR: S client not available

Pavel
27.03.2017
16:38:15
Ты же всегда можешь сделать '%(url)s' % {url: 'url'}
если много переменных надо, то выглядит как пиздец. "%(name)s %(addres)s %(count)d".format(name=name, address=adress, count=count). Наши руки не для скуки, но не до такой же степени.

Serge
27.03.2017
16:38:32
'%s %s %s' % (*a)
для этого есть ' '.join(a)

b0g3r
27.03.2017
16:38:42
для этого есть ' '.join(a)
это же абстрактный пример :)

для меня решающим аргументом всё равно останется рекомендация документации использовать format - если у авторов есть на то достаточность причин, то я им доверяю

эти причины они показали мне - мне эти причины показались достаточно логичными

b0g3r
27.03.2017
16:40:18
Ссылочку можно?
выше уже кидал :)

Serge
27.03.2017
16:40:37
Открываю код сайта Djangoproject.com и вижу что они используют % форматирование

выше уже кидал :)
Поищу сейчас

Можешь повторить?

Google
b0g3r
27.03.2017
16:41:41
https://docs.python.org/3.4/library/string.html#string-formatting

Serge
27.03.2017
16:42:27
Там не написано "используте .format а не %"

b0g3r
27.03.2017
16:42:58
там написано - используйте .format

и написано, а вот так формат заменит старый % синтаксис

Pavel
27.03.2017
16:44:02
Serge
27.03.2017
16:44:22
и написано, а вот так формат заменит старый % синтаксис
Не нашел там такого что именно заменит.

b0g3r
27.03.2017
16:44:30
в коде, имею в виду

пока никто не бежит с вилами на любителей % :)

Serge
27.03.2017
16:44:44
Для меня пример это Django код и код их сайта и то и то используют именно % форматирование

Eldar
27.03.2017
16:45:29
Serge
27.03.2017
16:45:47
Senpos
27.03.2017
16:45:55
Вот кстати страница документации о том, что % устарел

https://docs.python.org/release/3.1.5/library/stdtypes.html#old-string-formatting-operations

The formatting operations described here are obsolete and may go away in future versions of Python. Use the new String Formatting in new code.

b0g3r
27.03.2017
16:46:14
Для меня пример это Django код и код их сайта и то и то используют именно % форматирование
https://github.com/django/djangoproject.com/blob/d670e0c533133e6926c5e69420ad10b6cbbadd08/aggregator/management/commands/update_subscriptions.py

ой

https://github.com/django/djangoproject.com/blob/d670e0c533133e6926c5e69420ad10b6cbbadd08/contact/forms.py#L30

b0g3r
27.03.2017
16:47:31
https://github.com/django/djangoproject.com/blob/ed7b22c0f9805a8272d3fcf03c9668a77d4b9eda/fundraising/models.py#L104

ну и так далее

Pavel
27.03.2017
16:47:50
3.1.5 питон, вы чего.
с тепр пор передумали и оставили поддержку %s строк

Страница 197 из 1273