LINUX.ORG.RU

Python стал юзабельным

 ,


0

2

http://www.pythonb.org/

Ъ:

Python with Braces is a variant of the Python programming language, that has one significant difference: it uses standard C style braces for defining scopes rather than the classic python indentation. This makes Python more similar to other programming languages, and can also enable the introduction of new concepts such as anonymous functions and classes to Python.


Ответ на: комментарий от tailgunner

А на мой - бессмысленная акробатика.

это обычное подмешивание с явным указанием какие функции мы подмешиваем.

например ты хочешь составить класс которые будет состоять из разных (а не только из «class A») уже ранее написанных функций.

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

надо наказывать.

хм.. ну ок.. http://picscreen.ru/_ph/6/100316597.jpg :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от Siado

у тебя какие-то отдельные критерии говнокода? где говнокод то? давай уж, выкладывай. можешь, н.п. сослаться на какой-нибудь pep, если кишка не тонка.

anonymous
()
Ответ на: комментарий от Siado

По крайней мере в версии 2.7

хмм.. вот оно в чём дело.. ясно, ясно.. поставлю тебе тоже соответствующую пометку в профиль [связанную с любовью к устаревшей версии Пайтона] :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

это обычное подмешивание с явным указанием какие функции мы подмешиваем.

Для этого придумано наследование.

например ты хочешь составить класс которые будет состоять из разных (а не только из «class A») уже ранее написанных функций.

Для этого в питоне есть множественное наследование.

Siado ★★★★★
()
Ответ на: комментарий от user_id_68054

связанную с любовью к устаревшей версии Пайтона

Эта устаревшая версия еще лет 5 рулить будет =)

Siado ★★★★★
()
Ответ на: комментарий от Siado

это обычное подмешивание с явным указанием какие функции мы подмешиваем.

Для этого придумано наследование.

т.е. ты не видишь разницы между первым и вторым, да?

anonymous
()
Ответ на: комментарий от anonymous

т.е. ты не видишь разницы между первым и вторым, да?

Ну что ты как маленький, конечно есть разница.

Siado ★★★★★
()
Ответ на: комментарий от Siado

Эта устаревшая версия еще лет 5 рулить будет =)

хахаха, внушай себе :-) :-D ..

с учётом «asyncio» — некоторые библиотеки уже требуют для себя версию Python не меньше чем Python-3.3

вот например: «aiohttp»..

как и следовало ожидать — устаревшее ядро языка Python-2.X — привело к тому что теперь Python-2.X страдает ещё и недостатком «батареек».

user_id_68054 ★★★★★
()
Ответ на: комментарий от Siado

тогда к чему ты об этом завёл речь? да и вообще, короче, слив твой засчитан и заскринин. аривидерчи..

anonymous
()
Ответ на: комментарий от rskeyf

А что, нужны лямбды многострочные? В чём смысл таких лямбд? Хотите жабоскриптинг в питоне?)

menangen ★★★★★
()
Ответ на: комментарий от quasimoto

ну собственно — почти ни в чём.. :)

всё также понятно и ясно как в и случае с [Python]!

но этот пример был [озвучан] не мной а Miguel .. я лишь постарался написать его в формализованном виде.

именно моя претензия была связанна вот с [этим] (и [этим]) примером..

user_id_68054 ★★★★★
()
Ответ на: комментарий от Siado

Нормальные люди в C# не пишут в принципе.

Глупости не говорите.

xterro ★★★★★
()
Ответ на: комментарий от anonymous

более того, я уверен, что у меня знаний и опыта по оному, побольше твоего будет. без обид, только.

Конечно больше, ты же анонимус. А это вполне может означить, что ты окажешься как школьником, так и самим Гвидо, который вооружившись англо-русским переводчиком решил запостить «как кодить не нужно» с целью потрлить и хорошо провести время.

Siado ★★★★★
()
Ответ на: комментарий от user_id_68054

Ага, и даже using namespaceName::ClassName можно сделать как в Python c from moduleName import ClassName :)

То есть objectName.methodName(...) о знании класса к которому относится methodName говорит постольку, поскольку мы знаем экземпляром какого класса является objectName, а это рядом (ну или IDE сразу расскажет, да).

А что касается bar() — это вызов вызываемого объекта (в частности — функции, лямбды, вообще — любого экземпляра класса с определённым operator()) bar определённого в текущем пространстве имён — мы знаем что это за пространство (как знаем в питоне в каком модуле вообще код), знаем что именно он using (что import), так что всё должно быть понятно. С using namespace a::b; и последующим c::d::bar() — тоже, это вопрос знания иерархии пространств имён (модулей), если что — в IDE, опять же, эта иерархия есть.

Python стал юзабельным (комментарий)

вопрос — что именно за foo() ? это член класса или что-то другое?

Можешь показать код на C++/Java/... который вызывает подобные сомнения?

quasimoto ★★★★
()
Ответ на: комментарий от user_id_68054

как и следовало ожидать — устаревшее ядро языка Python-2.X — привело к тому что теперь Python-2.X страдает ещё и недостатком «батареек».

Вообще я ничего против 3-го питона не имею, по большей части мне в нем радует только изкоробочный юникод, в остальном разницу не тыкал.

Но вот по поводу недостатков батареек сейчас можно сказать только про третий питон: https://python3wos.appspot.com/

Конечно лично мне нужны далеко не все недоступные там либы, но тот нехватка того же ssh удручает

Siado ★★★★★
()
Ответ на: комментарий от ilammy

И им так же никто не пользуется, как никто не будет пользоваться этим pythonb?

jori
()

Вы сайт положили, я зайти не могу.

Deleted
()
Ответ на: комментарий от user_id_68054

именно моя претензия была связанна вот с [этим] (и [этим]) примером..

Если именно в методах вызовы — да, разночтения функция/местный метод/метод предка есть, но при желании можно использовать Префиксы::.

quasimoto ★★★★
()

Прочитал тему и подумал: ничего себе, софт на питоне перестал тормозить, а еще язык стал универсальным (например, появилась возможность написать на нем ядро ОС)!
А тут всего то скобки...

Lavos ★★★★★
()
Ответ на: комментарий от user_id_68054

То есть, по сути, ты мне говоришь, что в питоне система импортов лучше, чем в сях. И я абсолютно согласен.

Вот только к self это никакого отношения не имеет.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

То есть, по сути, ты мне говоришь, что в питоне система импортов лучше, чем в сях. И я абсолютно согласен.

дадада :-) , я об этом..

Вот только к self это никакого отношения не имеет.

косвенное отношение есть.

скажет так:

в Python можно использовать (в коде) только те переменные, которые в явном виде где-то инициализированны. и это относится в том числе к self.

наверно единственным исключением из этого правла является импорт со звёздочкой (from foo import *).

но вот self не является иключением.. :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от z00ke

Сорри, не тот век. Ковбои — это, в основном, XIX, а это — гангстер, из начала XX. А фотка вообще была сделана года полтора назад, после вот этого: http://www.youtube.com/watch?v=6mzc6dAUdwU

Miguel ★★★★★
()
Ответ на: комментарий от user_id_68054

в Python можно использовать (в коде) только те переменные, которые в явном виде где-то инициализированны.

А где не так?

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

А где не так?

в джаве, на пример.

anonymous
()
Ответ на: комментарий от nickionn

пруф того что он вообще тормозил.

Он же на интерпретаторе выполняется, а интерпретатор не на святом духе работает, а потребляет ресурсы.

Lavos ★★★★★
()
Ответ на: комментарий от Lavos

Ну и что? У тебя даже нет нормальных аргументов, все твои ответы это : «ИНТЕПРЕТАТОРЫ!!111 ОС НЕ НАПИШЕШЬ!!!!1111».

nickionn ★☆
()
Ответ на: комментарий от nickionn

Ну и что?

Ну и то. Часть ресурсов расходуется на нужды интерпретатора и в итоге софт тормозит. А сишный аналог работал бы шустрее и меньше бы ел.

Lavos ★★★★★
()
Ответ на: комментарий от Lavos

Ну и то. Часть ресурсов расходуется на нужды интерпретатора и в итоге софт тормозит. А сишный аналог работал бы шустрее и меньше бы ел.

Может приведешь сравнение в скорости?

nickionn ★☆
()
Ответ на: комментарий от nickionn

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

Lavos ★★★★★
()
Ответ на: комментарий от anonymous

Совок детектед.

Лучше «совок», чем либеральная сволочь.

anonymous
()
Ответ на: комментарий от xterro

В java и c# self нет потому, что эти языки статически типизированы и переменные объявляются явно и глобальных переменных нет. Так что если ты видишь myVar = value, и не находишь объявление myVar выше, то можешь быть уверен, что это свойство текущего объекта. В питоне жи myVar = value может создавать новую локальную переменную, а foo = myVar дергать глобальную. И определить, какой из этих случаев здесь, смотря только в код данной функции, весьма проблематично. Наличие self же решает эти проблемы. И вообще да, write only.

Aswed ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.