Ru-Board.club
← Вернуться в раздел «Web-программирование»

» Язык программирования Python (Питон, Пайтон)

Автор: Jenyay
Дата сообщения: 28.06.2008 20:51
Не смог удержаться от того, чтобы не попробовать первые бета-версии Python 2.6 и 3.0. В результате разродился довольно большой статьей про то, что в них появилось нового. Статься лежит здесь
Автор: kkRiz
Дата сообщения: 29.06.2008 02:22
Спасибо за статью, прочитал с удовольствием.
Не может не радовать куда движется питон.
Автор: Diman
Дата сообщения: 29.06.2008 10:43
Питон исключительно радует.

Я его освоил меньше 2х лет назад, случайно и постепенно - он используется с продуктом на работе. Ну и до этого наталкивался - не оценил. Осваивал медленно, кусками. В итоге понял, что это полноценный язык, исключительно мощный и гибкий, справляющийся с практически любой задачей лучше и лаконичнее, чем любые известные мне альтернативы (С++, Java, PHP, Lisp/Scheme, Pascal), причем скрипты остаются читаемыми, а знания оседают (в отличие от скажем Перла - напишу скрипт, отойду, потом опять приходится вспоминать, какая закорюка чего в данном контексте означает и что в неявных переменных. брр).

Вообще я в основном работаю с С++ (по работе), но дома всё больше перехожу на Питон (но С++ таки хоронить пока рано, у него своя ниша есть).

Веб программирование раньше делал на PHP, но разобравшись в Питоновом модуле cgi и его друзьях, теперь перевожу всё на Питон - PHP полностью потерял сексапильность. Всё, что задалбывало в PHP - глобальность функций, уродливая типизация, уродливое ООП (улучшенное в PHP5, но слишком мало, слишком поздно), отсутствие модульности (include втыкает текст) - для чего приходилось делать хитрожопые workaround'ы - всё это более-менее решено в Питоне, и при переписывании страницы зачастую всё упрощается и аккуратно решается стандартными средствами языка на месте. PHP хорош для новичков, которым нужно воткнуть немного логики в HTML, не вникая в детали работы с CGI (честно говоря, питоновый модуль cgi представляет из себя некоторый барьер в плане начального изучения, по сравнению с PHP, который бесплатно дает _GET, _POST и т.д. - я в итоге написал свой вспомогательный модуль, который делает это при инициализации, и работать стало ничуть не гиморнее чем с PHP). Есть еще mod_python - не пробовал, в хостинге модули апача напрягают.

В плане доступности - Питон доступен практически на всех платформах, в т.ч. всех юниксах и линуксах - на Линуксах он как правило установлен по умолчанию. То же в плане хостинга - если есть CGI и Perl, то скорее всего есть и Питон.

Среди достоинств Питона:
* динамическая но четкая типизация (переменные имеют четко определенный тип, и допустимы только хорошо определенные либо явные операции и преобразования).
* модульность - внутренности модуля локальны для этого модуля, но явно и легко доступны
* "всё есть объект" - функции, классы, методы - могут передаваться как значение
* интроспекция - если возникают вопросы о сущности и внутренностях какого-то объекта или модуля, или наличии и точном имени методов - легко с ними ознакомиться с помощью dir(), в т.ч. из интерактивной консоли или IDLE, что существенно упрощает обучение. также есть help().
* библиотека стандартных модулей на все случаи жизни - сокеты, протоколы, базы данных, что угодно.
* удобная работа с массивами, словарями, строками, итерация и т.д.
* map, filter, lambda..
* приличный интерактивный интерпретатор из командной строки
* IDLE - всё то же, но более интерактивно - в свежих версиях есть auto-complete, что избавляет от необходимости dir() при освоении.
* совместимость кода между версиями Питона, и поддержка старых версий Питона = стабильность

Но есть и недостатки:
* отсутствие статической типизации на этапе компиляции - статическая типизация таки помогает в сложных проектах, когда требуется, чтобы объект был определенного типа - иначе это может привести к сюрпризам во время выполнения. (статическая типизация может появиться в новых версиях).
* барьер в плане GUI и CGI.
* интерпретируемость и зависимость от собсно Питона и опциональных библиотек - для распространения продукта конечным пользователям это не радует.

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

Питону применений куча:
* мелкие скрипты для автоматизации, обработки текста и чего угодно
* веб программирование, с участием MySQL
* прототипы, требующие простора для полета фантазии - часто превращающиеся в полноценные программы
* карманный калькулятор с возможностью работы с файлами, сокетами и пр.

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

Например, ESR написал такой отзыв. Также, только что обнаружил что он теперь рекомендует Питон как первый язык для обучения в How To Become A Hacker - раньше на этом месте была Java.

Автор: widgetii
Дата сообщения: 08.07.2008 08:03
Появился сайт с русскоязычной документацией по Google App Engine (http://www.googleappengine.ru). Из вкусного - туториал и много примеров на Питоне.
Автор: Phunakoshi
Дата сообщения: 14.07.2008 15:45

Цитата:
Появился сайт с русскоязычной документацией по Google App Engine...


Вот за эту ссылочку большое спасибо.

Автор: scripterz
Дата сообщения: 28.08.2008 00:38
python или phpscript?
Автор: Cheery
Дата сообщения: 28.08.2008 00:39
scripterz

Цитата:
python или phpscript?

в шапке топика, по моему, все очевидно сказано.
Автор: dvs
Дата сообщения: 02.10.2008 12:43
Зарелизили Python 2.6
Скачать: http://www.python.org/download/releases/2.6/
Что нового (eng): http://docs.python.org/dev/whatsnew/2.6.html
Автор: Belsen
Дата сообщения: 05.11.2008 12:37
Хотя тут топик посвящен веб-программированию в основном, но где задать такой вопрос еще не знаю.

И так, установил несколько дополнений для Питона (scipy, numpy, matplotlib) и возникает вот такая проблема: в shell все команда из этих приложений выполняются спокойной (zeros, например из numpy), а вот при запуске в командной строке всего файла *.py - выдается ошибка, что команда неизвестна, хотя в строке где идет импорт модуля (from numpy import *) никаких нареканий нет.

Помогите разобраться...
Автор: wellic
Дата сообщения: 05.11.2008 20:24
Сын 10-11 лет, просит научить программировать
Есть ли нормальные методики для обучения.
Я как-то нашел книгу в инете, но она к сожалению была не законченой, что бы учить мальцов программированию на базе Питона.
Есть ли у кого полный вариант книги или что-то, чтобы ребенка можно было увлечь.
Возможно другой язык, но хотелось бы питон.

Автор: eLLoco
Дата сообщения: 09.11.2008 00:11
Belsen
А можно сюда сообщение об ошибке?

wellic
10-11? Лучше самому процесс вести на интересных примерах, книг таких точно нет.
Автор: dvs
Дата сообщения: 04.12.2008 20:09
Python 3.0 (a.k.a. "Python 3000" or "Py3k")
http://python.org/download/releases/3.0/
не совместим с веткой 2.x !!!
Автор: sundownhunter
Дата сообщения: 24.02.2009 01:24
А куда податься новичку лучше - 2.6 или сразу в 3.0 ?
Автор: Jenyay
Дата сообщения: 24.02.2009 08:05
sundownhunter

Цитата:
А куда податься новичку лучше - 2.6 или сразу в 3.0 ?


Думаю, что лучше пока 2.6, для 3.0 пока еще мало сторонних библиотек.
Автор: dvs
Дата сообщения: 24.02.2009 12:35
sundownhunter
2.6
Автор: valhalla
Дата сообщения: 15.03.2009 16:42
На ActiveState обнаружил кукбуки. В настоящее время на python не перешел только ленивый:

Цитата:
* Python (used in 2470 recipes)
* Tcl (used in 152 recipes)
* PHP (used in 40 recipes)
* C++ (used in 4 recipes)
* JavaScript (used in 3 recipes)
* Perl (used in 3 recipes)
* Text (used in 1 recipe)
Автор: Lyuke
Дата сообщения: 31.03.2009 19:52
Вот собираюсь изучить питон, и вообще язык программирования впервые, хочу спросить, с него лучше начинать? Или надо до него какой-то знать и какой лучше? И еще я не увлекаюсь Web"ом. Мне советовали сначала html потом php perl, а потом только Python. И хотелось бы знать какими полезными знаниями после изучения я буду обладать (ну что-бы не просто для галочки знать)
Автор: Jenyay
Дата сообщения: 01.04.2009 07:42
Lyuke

Если собираешься использовать Python для веба, то сначала надо знать HTML, а если для десктопных приложений, то не обязательно.
Автор: dvs
Дата сообщения: 01.04.2009 10:15
Lyuke
Цитата:
Вот собираюсь изучить питон, и вообще язык программирования впервые, хочу спросить, с него лучше начинать? Или надо до него какой-то знать и какой лучше?
Отличный вариант для начала, ничего до него не нужно.
Цитата:
Мне советовали сначала html потом php perl, а потом только Python.
Бред.





Добавлено:
Jenyay
Цитата:
Lyuke

Если собираешься использовать Python для веба, то сначала надо знать HTML, а если для десктопных приложений, то не обязательно.

Я бы добавил что ещё более важно понимать принципы HTTP (для web'а).
Автор: Jenyay
Дата сообщения: 01.04.2009 12:29
dvs

Цитата:
Я бы добавил что ещё более важно понимать принципы HTTP (для web'а).


Согласен, но обычно в книжках (хороших) по программированию для web про HTTP и так пишут, поэтому с ним можно было бы разбираться параллельно.
Автор: dvs
Дата сообщения: 18.06.2009 20:06
Учебник по Python 3.1 на русском:
http://ru.wikibooks.org/wiki/Учебник_Python_3.1
Спасибо Роману Сузи и Ко
Автор: valhalla
Дата сообщения: 06.07.2009 10:59
Спешу сообщить хорошую новость: готовится к выходу из типографии первая русскоязычная книга по Django: "Django. Разработка веб-приложений на Python". Ориентировочный срок выхода книги - июль 2009 г. Оригинальный вариант - тоже 2009 года.
Автор: ZUBAHA
Дата сообщения: 29.09.2009 02:03
Просвятите куда переехала рассылка ZoPyRus?
Автор: dvs
Дата сообщения: 29.09.2009 11:50
ZUBAHAникуда не переехал, http://zopyrus.itconnection.ru/cgi-bin/mailman/listinfo/zopyrus


Добавлено:
Зарелизили Jython 2.5.1, http://jython.org/
Автор: dvs
Дата сообщения: 02.10.2009 18:20
Python 2.6.3 -- http://www.python.org/download/releases/2.6.3/
Автор: Drunken_Master
Дата сообщения: 27.10.2009 16:23
Python 2.6.4

http://python.org/download/releases/2.6.4/
Автор: karakurt2
Дата сообщения: 02.03.2010 08:46
Подскажите, пожалуйста, если я распаковываю архив Enthought Tool Suite с деревом каталогов с сайта

Unofficial Windows Binaries for Python Extension Packages

в установочный каталог Python

c:/Python26/lib/site-packages

будут ли работать инструменты из этого набора или надо выполнить какие-то действия по дополнительной настройке?



Извиняюсь за ламерский вопрос, я только начинаю осваивать Python

Автор: dvs
Дата сообщения: 02.03.2010 12:43
karakurt2
Почему бы просто не проверить?
Автор: karakurt2
Дата сообщения: 02.04.2010 11:14
Как записывать и считывать числа с плавающей точкой в двоичном файле? Подскажите, что не так в этом примере... В файл записывается неверное число. Для формата с двойной точносьтью всё работает корректно.


Код:
[no]
# -*- coding: CP1251 -*-
import struct

filename = '16_gslib_format.txt'
x = 12
y = 1111111114.333333
fmt = '=if'
num = struct.calcsize(fmt)

print num

fp = open(filename, 'wb')
fp.write(struct.pack(fmt, x, y))
fp.close()

fp = open(filename, 'rb')
(x,z) = struct.unpack(fmt, fp.read(num))
fp.close()

# print '%10i %10i %10i' % x, y, z
print ('%10i %20f' % (x, z))
[/no]
Автор: tanatos_13
Дата сообщения: 07.04.2010 21:51
Все верно, точность числа с плавающей запятой 7 десятичних знаков. Потому ’x’ у вас хранится в виде числа с плавающей запятой с двойной точностью. И при принудительном приведении типа к 32-битному числу точность теряется.

Страницы: 1234567891011

Предыдущая тема: Вопрос по HTML и MS IE Explorer6.0


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.