- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
С сайта http://www.codecademy.com/
Dot Notation
Let's take a closer look at why you use len(string) and str(object), but dot notation (such as "String".upper()) for the rest.
lion = "roar"
len(lion)
lion.upper()
Methods that use dot notation only work with strings.
On the other hand, len() and str() can work on other data types.
kegdan 09.04.2015 07:15 # −13
Или нет его в создателе питона?
bormand 09.04.2015 07:53 # −12
kegdan 09.04.2015 07:57 # −11
А вот ФЯП питоном поддерживается через лямбды. Вообще где читал, что можно питон юзать как чистый ФЯП
ales-hon-ne 09.04.2015 08:28 # −11
wvxvw 09.04.2015 09:42 # −13
Полиморфизм - ну, в такой же степени как в Яве, но не как в Хаскелле.
Fike 09.04.2015 12:29 # −13
myaut 09.04.2015 12:58 # −13
Так она не имеет к реальности никакого отношения.
Fike 09.04.2015 13:03 # −13
myaut 09.04.2015 13:23 # −13
Вот здесь немного аргументации почему Гвидо сделал так: http://stackoverflow.com/a/237312/2709018
Fike 09.04.2015 13:27 # −15
Dummy00001 09.04.2015 14:11 # −12
говно-отмазки.
можно было сделать оба варианта, и дать разрабу свободу, в зависимости от контекста, выбирать что/как вызывать.
я лично предпочитаю нотацию a.len() потому что в случае если что-то не ястно, то я точно знаю где смотреть доки/сырцы. в то время как len(a) - а может функция локально переопределена? и т.д.
да, len(a) читабельней. но в общем случае, a.len() нотация просто однозначна и не порождает никаких вопросов что и как. ну и само собой разумеется, a.len() я могу переопределить - len() из стандартной библиотеки переопределить шансов нету.
roman-kashitsyn 09.04.2015 14:19 # −11
3
> @Peter: I'd pay $20 to anyone with photo evidence that they taped your comment to Guido's back. $50 if it's on his forehead. – bug Jan 28 '13 at 19:36
LOL
myaut 09.04.2015 14:26 # −14
Да ну! В той же теме на SO ссылка:
http://lucumr.pocoo.org/2011/7/9/python-and-pola/
> If you look at Java in comparison what will we find? A builtin array has a field called .length. A builtin string however is an actual object and has a method called .length(). A map or list in Java responds to .size(). All the XML APIs in Java will use .getLenght() instead, so will the reflection API for arrays and the list goes on.
Dummy00001 09.04.2015 15:18 # −13
люди которые годами с чем то работают, последние кого надо спрашивать относительно того как близок их любимый язык к правилу наименьшего удивления.
я недавно читал нечто подобное про руби. меня просто убило что ни один из примеров (которыми восхваляли рубиновый principle of least astonishment) не отражал реалий тех граблей по которым мне как начинающему пришлось пройтись.
myaut 09.04.2015 15:35 # −14
Лучше бы реализовать обе, наверное, как в C++11 например теперь:
Но это несколько усложняет язык. К тому же переопределять билтины нельзя, для этого и есть костыль __len__() :)
roman-kashitsyn 09.04.2015 15:43 # −11
Пока не понятно, чем всё кончится.
bormand 09.04.2015 15:47 # −12
Как в шарпике экстеншн методы?
P.S. В крестах и без этой фичи порой хер догадаешься, какая перегрузка будет вызвана...
roman-kashitsyn 09.04.2015 15:48 # −14
Dummy00001 09.04.2015 16:08 # −13
но операторы можно и через функциональный синтакс вызывать.
а перегруженые методы, если надо, и через полное имя с именем класса.
1024-- 09.04.2015 15:51 # −13
bormand 09.04.2015 15:49 # −12
Там звёздочку забывают добавить - наименьшего удивления для профессианального рубиста.
Dummy00001 09.04.2015 19:07 # −13
пропоненты principle of least astonishment слишком часто концентрируются на какие-то изолированые детали языка/библиотеки.
в конечном итоге, на больших программах, где именно это и важно для читабельности/этц, просто нифига ни разу "least astonishment", и больше "I do not want to live on this planet anymore".
dxd 10.04.2015 12:01 # −11
roman-kashitsyn 10.04.2015 12:02 # −12
Ну-ну, особенно не удивляют неявные переменные
bormand 10.04.2015 12:28 # −13
А почему в переменную i число с плавающей точкой не сохраняется?
roman-kashitsyn 10.04.2015 12:58 # −13
Ну я именно это и имел в виду.
Dummy00001 10.04.2015 13:32 # −14
одна из причин почему народ все еще пользуется Tcl'ем. регулярный синтакс + очень тупая в лоб интерпретация очень мощная (хоть и абсолютно криво выглядящая) штука.
bormand 10.04.2015 14:03 # −13
Но да, там синтаксис языка можно уложить в 8 строк, и помимо ебанутых скобок удивляться нечему.
kegdan 10.04.2015 14:17 # −14
Я открыл ее для себя сегодня и не могу остановиться. рекомендую
xyilka 10.04.2015 15:04 # +11
3.14159265 10.04.2015 17:43 # −12
Беги стретору поплакай в жылетку, обиженнай какол :)))
xyilka 10.04.2015 17:53 # +12
eblankah 10.04.2015 17:54 # −14
kegdan 10.04.2015 18:46 # −12
xyilka 10.04.2015 19:08 # +12
kegdan 10.04.2015 19:56 # −14
- Ахаха! я их на хуях вертел, хожу как цврь, всем по 20 минусов ставлю! У всех рейтинг говно!
Как оно на самом деле
- какой рейтинг?
xyilka 10.04.2015 20:03 # +11
kegdan 10.04.2015 20:10 # −14
bormand 10.04.2015 21:19 # −13
Угу. Галочка "Показать все, что скрыто" в юзерскрипте рулит.
kegdan 10.04.2015 22:40 # −12
заценил игру?
bormand 10.04.2015 22:44 # −13
Неа, лень.
kegdan 10.04.2015 22:46 # −11
xyilka 10.04.2015 22:54 # +13
bormand 10.04.2015 23:07 # +1
xyilka 10.04.2015 23:23 # −1
kegdan 10.04.2015 23:25 # −1
xyilka 10.04.2015 23:44 # −1
kegdan 10.04.2015 23:45 # −1
xyilka 09.04.2015 18:25 # +5
xyilka 09.04.2015 19:17 # +3
kegdan 09.04.2015 19:37 # −12
Твоя Наташа
Dummy00001 09.04.2015 13:22 # −10
не у всех объектов тот же самый duck-typing интерфейс.
другими словами - огороды и грабли.
myaut 09.04.2015 13:26 # −14
guest 28.11.2015 02:52 # 0