Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.201.71] |
|
Сообщ.
#1
,
|
|
|
Ребята!
Для чего нужен язык Python. Что с ним можно сделать? |
Сообщ.
#2
,
|
|
|
Вопрос в другом, что нельзя сделать на питоне. Вы думаете изучать его или нет?
|
Сообщ.
#3
,
|
|
|
Цитата NetVir @ Вы думаете изучать его или нет? Если он актуален то да. |
Сообщ.
#4
,
|
|
|
Цитата aster_x @ Цитата NetVir @ Вы думаете изучать его или нет? Если он актуален то да. ну, в MIT решили его заюзать, так что наверное актуален. да и он в общем-то довольно прост. что там учить? =) но моё личное мнение -- питон не нужен =) |
Сообщ.
#5
,
|
|
|
korvin
Приведи пример простейшей программы HELLO WOLRD! и X+Y= |
Сообщ.
#6
,
|
|
|
Цитата aster_x @ korvin Приведи пример простейшей программы HELLO WOLRD! print "Hello, World!" гугл -- друк человека, ага. =) http://www.google.ru/#hl=ru&source=hp&q=python+hello+world&lr=&aq=0&aqi=g10&aql=&oq=python+he&gs_rfai=&fp=40d4cf80b75cdc07 Цитата aster_x @ и X+Y= этого не понял |
Сообщ.
#7
,
|
|
|
Пайтон портирован, если на десятки платформ, динамичен (головная боль с утечкой памяти уже не должна возникать), актуальность можно проследить по гуглу, мит-у, и т.д. Вцелом язык дружелюбный. Ориентирован больше на благородное количество функциональности. Ну, а если проект критичен по времени, тогда уж с/с++. Учится очень быстро. Библиотек более чем достаточно. И еще - он расширяем, т.е. если вам не нравится скорость работы "чего-то", то вы можете используя пайтон объекты написать свои модули на, например, с/с++.
Добавлено Питон хорошо себя заявил как в локальных приложениях, так и серверных. И еще - существует большое количество cms на пайтоне, т.е. широко применяется в веб-проектах. Единственное, порой вызывает недоумение или удивление у людей, которые вырасли и пропитаны императивными языками. Вообщем, пайтон - не самый худший вариант. Добавлено Цитата и X+Y= x, y = 3, 4 print(x + y) |
Сообщ.
#8
,
|
|
|
Блин!
Я ничего не понял. Пришлити мне файл исходничек. И скажите как его скомпилировать? |
Сообщ.
#9
,
|
|
|
Цитата aster_x @ И скажите как его скомпилировать? Это скриптовой язык. Он интерпретируется. |
Сообщ.
#10
,
|
|
|
aster_x просто создаете файлик file_name.py и запускаете.
Текст программы я уже показал. Я привел именно такой пример, чтобы показать "фичу" однострочных присваиваний. |
Сообщ.
#11
,
|
|
|
Цитата NetVir @ динамичен (головная боль с утечкой памяти уже не должна возникать) что Вы подразумеваете под словом "динамичен"? Цитата NetVir @ Единственное, порой вызывает недоумение или удивление у людей, которые вырасли и пропитаны императивными языками. почему? питон вполне себе такой же императивный Добавлено Цитата n0rd @ Цитата aster_x @ И скажите как его скомпилировать? Это скриптовой язык. Он интерпретируется. вообще-то компилируется в байт-код Добавлено Цитата NetVir @ aster_x просто создаете файлик file_name.py и запускаете. Текст программы я уже показал. Я привел именно такой пример, чтобы показать "фичу" однострочных присваиваний. в чём "фичастость" этой "фичи"? 1) (setq a 1 b 2 c 3) 2) эта "фича" -- простейший случай паттерн-матчинга, который более лучше реализован в других языках. =) |
Сообщ.
#12
,
|
|
|
Цитата korvin @ что Вы подразумеваете под словом "динамичен"? Интерпретатор сам следит за выделяемой памятью и чистит неиспользуемые объекты. Цитата korvin @ почему? питон вполне себе такой же императивный Не совсем, особенно его функциональная часть. |
Сообщ.
#13
,
|
|
|
Цитата NetVir @ Цитата korvin @ что Вы подразумеваете под словом "динамичен"? Интерпретатор сам следит за выделяемой памятью и чистит неиспользуемые объекты. лучше так и пишите "автоматически управляет памятью", "используе сборщик мусора"... а то просто эпитет "динамический" как-то больше с характеристикой типизации ассоциируется =) Цитата NetVir @ Не совсем, особенно его функциональная часть. его "функциональная часть" крайне мала и не представляет из себя ничего особенного. во всяком случае явно значительно меньше таковой у более чистых ФП-языков и значительно меньше императивной и ОО составляющих питона |
Сообщ.
#14
,
|
|
|
2.x - точно не нужен.
а вот 3.x - нужен) хороший язык для прикладного программирования, обработки данных, математики Добавлено Цитата korvin @ эта "фича" -- простейший случай паттерн-матчинга, который более лучше реализован в других языках. эта фича и рядом не лежала с паттерн матчингом, это просто упаковка в кортеж (tuple) и распаковка из кортежа |
Сообщ.
#15
,
|
|
|
Цитата GoldFinch @ эта фича и рядом не лежала с паттерн матчингом, это просто упаковка в кортеж (tuple) и распаковка из кортежа ууу, так это ещё хуже. ведь упаковка/распаковка в рантайме происходит? |
Сообщ.
#16
,
|
|
|
Цитата GoldFinch @ Откуда такие сведенья? это просто упаковка в кортеж (tuple) и распаковка из кортежа |
Сообщ.
#17
,
|
|
|
Цитата NetVir @ На примере этого кода здесь видно, что запись "2, 3" действительно интерпретируется как typleОткуда такие сведенья? >>> a = 3, 4 >>> a (3, 4) >>> type(a) <type 'tuple'> >>> Но посмотрим что происходит на самом деле: >>> from dis import * >>> dis <function dis at 0xb778fe2c> >>> dis('a=4') 0 STORE_GLOBAL 13373 (13373) >>> dis('a,b=3,4') 0 STORE_GLOBAL 25132 (25132) 3 DELETE_SUBSCR 4 DELETE_SLICE+1 5 <44> 6 DELETE_SLICE+2 >>> dis('a,b,c=3,4,5') 0 STORE_GLOBAL 25132 (25132) 3 <44> 4 DUP_TOPX 13117 7 <44> 8 DELETE_SLICE+2 9 <44> 10 DELETE_SLICE+3 >>> Много не расскажу про этот байткод, но видно, что здесь упаковка и распаковка кортежа оптимизирована К примеру еще один код: >>> dis("""d,e,f='a','b','c' ... (a,b,c)=(d,e,f) ... """) 0 LOAD_CONST 25900 (25900) 3 <44> 4 BUILD_TUPLE 10045 7 STORE_GLOBAL 11303 (11303) 10 <39> 11 DELETE_GLOBAL 11303 (11303) 14 <39> 15 DUP_TOPX 2599 18 STORE_SLICE+0 19 STORE_GLOBAL 25132 (25132) 22 <44> 23 DUP_TOPX 15657 26 STORE_SLICE+0 27 LOAD_CONST 25900 (25900) 30 <44> 31 BUILD_TUPLE 2601 >>> Цитата korvin @ Действительно нееффективно, но я не вижу здесь никаких проблем. Если важна скорость вычисления, то конструкции (a,b)=(c,d) использоваться просто не будут при написании програмы, а (a,b)=(1,2) - оптимизированы - делаются без кортежей ууу, так это ещё хуже. ведь упаковка/распаковка в рантайме происходит? |
Сообщ.
#18
,
|
|
|
Я так понимаю, что не совершенно тупой компилятор должен сообразить, что групповое присваивание вполне можно делать без формирования кортежа с последующим его уничтожением, а просто разложив его на отдельные присваивания. Причем это даже еще не оптимизация.
Да и не так уж много занимает это формирование/уничтожение кортежа. Другое дело возврат значений из функции |
Сообщ.
#19
,
|
|
|
сразу видно, тут собрались больше спецы по питону.
тутор сначала хотя бы прочитайте, а потом пишите =\ Добавлено тутор по 2.х лежит тут, если кто не знает http://docs.python.org/tutorial/index.html |