Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

Открыть новую тему     Написать ответ в эту тему

Adm10



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здесь обсуждается всё, что связано с использованием Python: программирование, библиотеки, ресурсы и другие вопросы

Python


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

С чего начать?
Простой, понятный и вместе с тем грамотный ресурс на русском языке: pythonworld.ru + самоучитель
Библия PEP8

Всего записей: 35 | Зарегистр. 13-10-2006 | Отправлено: 15:48 16-06-2007 | Исправлено: useretail, 21:51 22-06-2024
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Civilization IV

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 16:31 16-06-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
какие из известных книг были написаны на испанском и стоит ли тратить время на изучение этого языка?
 
нда...
 

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 19:17 17-06-2007
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Язык перспективный, так что имеет смысл посмотреть, тем более что много времени на это не понадобится. Что касается проектов, напамять не скажу, но в линуксячем мире питоний код встречается часто. Посмотри здесь:
http://pythonology.org/spotting

Всего записей: 948 | Зарегистр. 23-04-2003 | Отправлено: 22:08 17-06-2007
SerhyKlim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос, ИМХО, поставлен некорректно. Время стоит тратить потому, что изучение Питона повысит культуру программирования.  
Проектов на нем до фига, только все какие-то напрвленные больше на разработчиков, а не на энд-юзера: веб-фреймворки, ORM, сервера приложений, пачки библиотек для всего чего хочешь.
А вообще лучше на нем коротенькие писать программы. Изучать его - одно удовольствие.  

Всего записей: 14 | Зарегистр. 16-11-2006 | Отправлено: 20:36 21-06-2007
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SerhyKlim

Цитата:
Проектов на нем до фига, только все какие-то напрвленные больше на разработчиков, а не на энд-юзера

 
Ну да, ну да, Civilization IV и скрипты в Battlefield 2 не в счет.

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 21:21 21-06-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
конечно не в счёт...
 
вы что, ребята? человек явно не из *nixware, ему надо внятно и чётко объяснить, что это интерпретируемый язык, конечно можно встроить его в какой-нибудь громадный проект, но именно как внутренний скриптинг... и боюсь что опыта ему ещё на это не хватит, тем более, если он только приступает... и будет он бегать с инсталлятором питона с машины на машину, от хр к висте и обратно...
 
Adm10
если это твой первый подход, то бери универсальный с++ и не пожалеешь...
потом и питон и жаба и всё что захочешь приложится...
 

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 11:42 22-06-2007 | Исправлено: akaGM, 11:46 22-06-2007
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Если на Питон опыта не хватит, то ЦПП уж точно ниаСИлит. Я конечно не отрицаю полезности изучения си, но одно от другого отличается очень сильно, начиная от идеологии и заканчивая сферой применения. То же и по поводу c++ -> java.

Всего записей: 948 | Зарегистр. 23-04-2003 | Отправлено: 15:14 22-06-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dmka
мы, конечно, можем сейчас скатиться на обычную в таких случаях дискуссию, но я всё-таки скажу...
простейший пример, который поймут все (и меня поймут в том числе...)
человек, "начавший" с php, до сих пор плюётся на С (пришлось... а ведь я предупреждал!) при виде
int i;
i = 1;
и невозможности
i = "hello blin world!";
 
поэтому я считаю, что чем жёстче требования "первого в твоей жизни" языка, тем легче тебе будет потом...
 
и действительно необходимо знать зачем тебе всё это: для себя, чтоб было, или из-за необходимости решать определённые задачи...
 
кстати, я питон не знаю совсем, т.е. вообще ничего...
 

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 15:31 22-06-2007 | Исправлено: akaGM, 19:02 22-06-2007
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
конечно не в счёт...

Civilization IV --- вендовая игрушка. Battlefield 2 --- тоже. Если они не направлены на конечного пользователя и из мира Unix --- то я не знаю, что и сказать.
 

Цитата:
человек, "начавший" с php, до сих пор плюётся на С

Не знаю как там PHP, а в Питоне достаточно строгая типизация.
 

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 11:34 24-06-2007 | Исправлено: TheChampion, 11:35 24-06-2007
SerhyKlim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По поводу "в счет, не в счет" - под направленностью имеются в виду большие числа. Т.е. пара тысяч программ для енд-юзера на Питоне - это 0, значит , Питон для этого не используется.  
Правда, многие программы поставляются после py2exe, так что можешь и не заметить, на чем они сделаны (например, ClamAv for Win).  
 
По поводу типизации - кстати да, ошибочно многие считают Питон языком со слабой типизацией, вроде Бесика. Нифига подобного, у Питона очень строгая типизация, недопускается неявное приведение типов, в отличии от С. Просто типизация динамическая, переменная отдельно, имя переменной отдельно, они могут связываться и развязываться.
 
 
 

Всего записей: 14 | Зарегистр. 16-11-2006 | Отправлено: 14:17 24-06-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я не знаю что такое "вендовая" (вендорная?)...
гораздо более распространённый и востребованный Total Commander пИсан на Дельфи, также как и Age of Wonders, но тем не менее я Дельфи никому не порекомендовал бы (только в определённых случаях да вместо ВР 7.0-)...
ниша Питона и иже с ним (Рубин, Хаскель), не мною, кстати, установленная -- мелкие тулзы, скриптинг, юниксваре-стиль... не вижу в этом ничего плохого...
считать надо на Фортране, тексты обрабатывать на Перле, динамический веб-контент генерить на ПХП, базу знаний шарашить на Прологе, железом управлять, драйвера писать на С/Ассемблере, а всё это попытаться увязать вместе или решать разом -- на С/С++...
Если Питон позволяет делать тоже самое и ещё что-то -- ради бога, я не против...
он с типами данных? -- я "за" обеими руками...

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 14:35 24-06-2007 | Исправлено: akaGM, 23:13 24-06-2007
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
я не знаю что такое "вендовая" (вендорная?)

Про "вендокапец" тоже не слыхали? Вам прямая дорога на http://linux.org.ru
 
Да, скрипты --- одна из ниш Питона. Про трехмерный пакет Blender слыхали? Он написан на Питоне и Питон там используется для написания скриптов для анимации объектов (хотя можно их двигать и по-другому). А еще Питон используется в НАСА.
 
Про GIMP тоже не слыхали? Это очень мощный графический редактор. Типа Photoshop. Там тоже можно писать скрипты на Питоне.
 
А еще в PostgreSQL хранимые процедуры можно писать на PyPG/SQL.
 

Цитата:
считать надо на Фортране

Дело привычки, не более того. Я считал на C++ и никаких проблем не испытывал. BLAS --- наше все.
 

Цитата:
тексты обрабатывать на Перле

Да боже упаси!!! Хуже перловой каши только исходные тексты на бейсике или це-решетке (тяжкое наследие жабы...).
 
В Питоне есть регулярные выражения и сделаны они, кстати, удобнее.
 

Цитата:
динамический веб-контент генерить на ПХП

Ага, генерил. С учетом того, что классы (и структуры) в ПХП появились, грубо говоря, вчера, писать приходится без них. Задача, скажем так, нетривиальная. Поэтому теперь использую для этой цели сугубо Питон.
 

Цитата:
он с типами данных? -- я "за" обеими руками...  

Да.
 

Код:
print "%d %d %s" % (123, "123", "abc")

Очень похоже на C, не так ли? Но, в отличие от нетипизированной функции printf языка C, Питон ругнется на второй аргумент, т. к. это --- строка, а не целое число.

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 01:03 25-06-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheChampion
 
я не линуксоид и много чего в своей жизни не слыхал...
так же как и вы, уверяю вас...
 
всем
 
а вот как вы объясните мне след. код?

Код:
i = 1
r = 3.14
s = "hello blin world"
print s, " s ", type(s)
s = i
print s, " s ", type(s)
s = r
print s, " s ", type(s)
r = i
print r, " r ", type(r)
 

с выводом

Код:
 
hello blin world  s  <type 'str'>
1  s  <type 'int'>
1.1  s  <type 'float'>
1  r  <type 'int'>

 
тут кто-то С пинал за неявное приведение типов...
а, вот:

Цитата:
Нифига подобного, у Питона очень строгая типизация, недопускается неявное приведение типов, в отличии от С.

так вот в С

Код:
double r;
int i;
printf("%d", sizeof(r));
r = i;
printf("%d", sizeof(r));

 
r _гарантированно_ останется даблом...
 
или под типизацией понимается что-то другое или я что-то не так делаю...
и прошу вас, будьте доброжелательнее, я стремлюсь понять то что я не знаю или не понимаю, а отнюдь не "опустить" или "наехать"...
 

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 14:28 25-06-2007 | Исправлено: akaGM, 16:28 25-06-2007
bsdemon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Очень хочется выразить своё мнение.
Я работаю в Институте Прикладной Астрономии РАН. По долгу службы пришлось познакомится с Python. Надо сказать что изначально имел такое же мнение как и у гражданина akaGM:

Цитата:
ниша Питона и иже с ним (Рубин, Хаскель), не мною, кстати, установленная -- мелкие тулзы, скриптинг, юниксваре-стиль... не вижу в этом ничего плохого...  

Оказалось, что Python имеет одно очень ценное преимущество про сравнению с другими интерпретируемыми языками - легко и быстро писать модули на C. Это говорит о том, что наиболее узкие в плане производительности места можно просто писать на C, а с такими проблемами - как обработка текста и т.д. Python и сам справляется отлично, как и Perl, PHP и прочее. Если прибавить к этому очень хорошо проработанную стандартную библиотеку (многопоточность? - пожалуйста, что NT, что POSIX), комфортный синтаксис, возможность функционального подхода к программированию, построчную интерпретацию (существенно облегчает отладку), метаклассы... Делайте выводы сами.
 
Конечно же я не советую писать большие проекты на Python, но и гражданин akaGM далеко не прав. Я бы назвал нишей Python - это Rapid prototyping. Быстро и легко написать работающую программу или проверить работу алгоритма на C/C++/Java не получится, а вот Python в самый раз!
 
Надо также сказать, что Python известен в околонаучных кругах - написано много библиотек, таких как SciPy, NumPy, MGLTools... (используйте google).
 

Всего записей: 38 | Зарегистр. 20-04-2005 | Отправлено: 20:38 25-06-2007
SerhyKlim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
а вот как вы объясните мне след. код

 
попробую
 
i = 1         // даем переменной со значением 1 имя i
r = 3.14    // даем переменной со значением 3.14 имя r
s = "hello blin world"   //  даем переменной со значением "hello blin world" имя s
print s, " s ", type(s)   // тип переменной с именем s - string
s = i     // переменной с именем i даем еще одно имя - s. Строка "hello..." сейчас не имеет ни одного имени и падет жертвой сборщика мусора
             
print s, " s ", type(s)  // тип переменной,  которая называется s (и i) - int  
s = r       // теперь 3.14 имеет 2 имени - s и к
print s, " s ", type(s)   // должен выглядеть  3.14 s <type 'float'>
r = i         // r и i теперь ссылаются на переменную со значением 1  
print r, " r ", type(r)
 
Типы данных могут быть mutable и unmutable. Как перевести не знаю, но смысл в том что если переменные имеют несколько имен, то 2 разных подхода при попытке изменить переменную по имени - либо copy on write (создание новой, другие имена ссылаются на старую), либо изменяется одна общая переменная, изменения видны и под другими именами.
 
Тут просто нужно отойти от стереотипа C, в котором переменная - буфер памяти, выделяемый компилятором при декларации переменной.  
По поводу строгости приведения типов - я имел в виду, что в C можно объявить буфер памяти одним типом, а потом работать с буфером как с другим типом (float как массив байтов...). Питон не дает доступа к памяти, для преобразования одного типа в другой должен быть соответствующий обработчик.

Всего записей: 14 | Зарегистр. 16-11-2006 | Отправлено: 01:07 26-06-2007 | Исправлено: SerhyKlim, 01:10 26-06-2007
bsdemon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mutable - изменяемые, unmutable - неизменемые
То есть при присваивании, где слева стоит unmutable выделяется новая память и создаётся новый экземпляр.

Всего записей: 38 | Зарегистр. 20-04-2005 | Отправлено: 03:50 26-06-2007
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
или под типизацией понимается что-то другое или я что-то не так делаю...  

 
В коде

Код:
v = 123
v = "abc"

ничего необычного. Просто смена типа. Питон --- динамический язык. Однако вот такой код:

Код:
"123" + 123

или такой:

Код:
123 + "123"

не прокатит, т. к. здесь требуется явное преобразование строки или числа (прямо как в C++).  Это и есть типизация и отсутствие неявных преобразований. Как в подобном случае ведет себя ПХП, утверждать не буду. JavaScript же ведет себя в таком случае крайне отвратительно.
 
Да, Питон идеально годится для прототипирования и экспериментирования. Я не раз этим пользовался. Кроме того, к нему есть привязки Qt, GTK, wxWidgets, драйверы PostgreSQL и MySQL и еще всего и дофига.

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 05:41 26-06-2007
slav0nic



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вэб:
moinmoin
mailman
zope
trac
 
гуи:
gajim
exaile
 
и тп

Всего записей: 12 | Зарегистр. 20-04-2005 | Отправлено: 12:52 26-06-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SerhyKlim

Цитата:
попробую

спасибо... это была моя первая программа на Питоне...
 

Цитата:
гражданин akaGM

ну вот... так ведь и до статьи недалеко...
 
 
спасибо всем...

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 18:42 26-06-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru