Python Zen #2
От: neFormal Россия  
Дата: 25.12.09 08:41
Оценка: 1 (1) -1

Explicit is better than implicit.

и в то же время:
>>> '%s' % 2
'2'
>>> '%d' % True
'1'
>>> '%s' % True
'True'

кругом обман..

вопрос: какие ещё "неявности" есть в питоне, о которых следовало бы знать?.
...coding for chaos...
python zen
Re: Python Zen #2
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.12.09 12:02
Оценка:
Здравствуйте, neFormal, Вы писали:

F>

F>Explicit is better than implicit.

F>и в то же время:
F>
>>>> '%s' % 2
F>'2'
>>>> '%d' % True
F>'1'
>>>> '%s' % True
F>'True'
F>

F>кругом обман..

С чего бы это был обман? Zen рекомендует как писать на питоне, а не как питон позволяет писать вообще

F>вопрос: какие ещё "неявности" есть в питоне, о которых следовало бы знать?.


А почему кстати неявность-то? Ты же типы, к котором нужно привести аргументы сплайса явно указываешь?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Python Zen #2
От: neFormal Россия  
Дата: 25.12.09 12:34
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>С чего бы это был обман? Zen рекомендует как писать на питоне, а не как питон позволяет писать вообще


Long time Pythoneer Tim Peters succinctly channels the BDFL's
guiding principles for Python's design into 20 aphorisms, only 19
of which have been written down.

http://www.python.org/dev/peps/pep-0020/

F>>вопрос: какие ещё "неявности" есть в питоне, о которых следовало бы знать?.

KV>А почему кстати неявность-то? Ты же типы, к котором нужно привести аргументы сплайса явно указываешь?

ага, и получается всё равно строчка?.
да и не со всем это работает.. например, '%d' % '23' не кастанёт..
...coding for chaos...
Re[3]: Python Zen #2
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.12.09 16:49
Оценка:
Здравствуйте, neFormal, Вы писали:

F>>>вопрос: какие ещё "неявности" есть в питоне, о которых следовало бы знать?.

KV>>А почему кстати неявность-то? Ты же типы, к котором нужно привести аргументы сплайса явно указываешь?

F>ага, и получается всё равно строчка?.


Да, потому что результатом сплайсинга (подстановки значений в строку) всегда будет строка

F>да и не со всем это работает.. например, '%d' % '23' не кастанёт..


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

IMHO, более чем логичное поведение.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Python Zen #2
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.12.09 16:55
Оценка:
Здравствуйте, neFormal, Вы писали:

F>да и не со всем это работает.. например, '%d' % '23' не кастанёт..


Кстати, а что ты в питоне под "кастингом" подразумеваешь?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Python Zen #2
От: neFormal Россия  
Дата: 25.12.09 18:13
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

F>>да и не со всем это работает.. например, '%d' % '23' не кастанёт..

KV>Кстати, а что ты в питоне под "кастингом" подразумеваешь?

эм.. преобразование одного типа в другой
да, через реализацию __str__, __int__ и прочего..
...coding for chaos...
Re[4]: Python Zen #2
От: neFormal Россия  
Дата: 25.12.09 18:16
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

F>>да и не со всем это работает.. например, '%d' % '23' не кастанёт..

KV>а с чего бы ему кастовать? механизм сплайсинга сам не кастует, отдавая это на откуп разработчика (явное лучше неявного), он лишь контролирует, чтобы аргумент сам умел крякать как указанный параметр. Строка как целое крякать не умеет (не реализован метод __int__())...
KV>IMHO, более чем логичное поведение.

да, логика в этом есть, но в целом механизм имхо выглядит однобоко: что то работает, а что то нет..
...coding for chaos...
Re[5]: Python Zen #2
От: Kir. Россия  
Дата: 25.12.09 20:33
Оценка:
Здравствуйте, neFormal, Вы писали:

F>Здравствуйте, kochetkov.vladimir, Вы писали:


F>да, логика в этом есть, но в целом механизм имхо выглядит однобоко: что то работает, а что то нет..


Although practicality beats purity. (C)

Числа чаще нужно печатать в строки, чем строки превращать в числа.
Писание же твое принято бысть и уразумлено внятельно. (С) Иван IV
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.