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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

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

Язык программирования Python (Питон, Пайтон)
 ОтветГолосаПроценты
первый раз слышу8
1.36%
слыхал, но ничего сказать про него немогу143
24.36%
изучал, но меня от него не прёт26
4.43%
изучаю и скоро на него перейду260
44.29%
скрипты пишу в основном на нём95
16.18%
пишу только на нём47
8.01%
я из комманды разработчиков Python'а8
1.36%
Гости не могут голосовать, зарегистрируйтесть!Всего Голосов: 587
quamque



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Python — интерпретируемый, интерактивный, объектно-ориентированный язык программирования высокого уровня. Поддерживает классы, модули (которые могут быть объединены в пакеты), обработку исключений, а также многопоточную обработку. Питон относится к классу языков с динамической типизацией, обеспечивает «сборку мусора» и удобные высокоуровневые структуры данных, такие как словари (хэш-таблицы), списки, кортежи. Питон обладает простым и мощным синтаксисом. Огромное количество высококачественных библиотек.
 
Интерпретатор Питона существует для большинства распространённых платформ. Он распространяется свободно под очень либеральной лицензией, позволяющей использовать его без ограничений в коммерческих приложениях.  
.

Скачать: http://www.python.org/download/
Подробнее: http://ru.wikipedia.org/wiki/Python



оригинальное сообщение от quamque:
Здесь в основном говорят о программировании на Perl и PHP,  
Недавно я взялся за Python и нашёл, что язык не только забавен сам по себе (функциональное программирование, отступы вместо скобок), но и выгодно отличается от PHP и Perl.  
По сравнению с PHP более объектно ориентирован, есть обработка исключений.  
Если сравнивать с Perl, то внутренности языка глубоко запрятаны, поэтому читать код и учиться на нём писать программы намного легче.  
Если что забыл - добавьте, плз.
Хотелось бы обрасти полезными ссылками и замечаниями об этом языке.



Домашняя страница - http://python.org
PyPy -- будущая реализация интерпретатора http://pypy.org/
Usenet - главный англоязычный форум - comp.lang.python - http://groups.google.com/groups?hl=ru&group=comp.lang.python
Jython -- Python для JVM http://Jython.org
Python под .Net (IronPython) -- http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
Пакеты (= модули, расширения, библиотеки) -- http://www.python.org/pypi , https://pythonpackages.com/ , http://www.vex.net/parnassus/
Ускорители - MyPy, Numba, Nuitka, Cython, PyPy
 
Самые известные программы на Python
Mailman - для организации почтовых рассылок -  http://www.gnu.org/software/mailman/
http://zope.org  - один из самых известных проектов на Python
http://twistedmatrix.com  - application-framework понимающий кучу протоколов (http, https, ssh, ftp, irc... и много прочего) и позволяющий строить на его основе в принципе любые сетевые (не только web) приложения
http://bittorrent.com -- оригинальный Битторент, кстати и сайт этот сделан на Питоне с использованием фрэймворка  
Trac - Вики, Тикеты, просмотр VC репозиторий
ViewVC (изначально ViewCVS) - просмотр VC репозиторий
подробнее см. здесь
 
Книги и доки по Питону:
Страничка Википедии
http://www.python.ru/files/book-ods.pdf (рус)
Краткий обзор языка Python http://www.helloworld.ru/texts/comp/lang/python/python2/index.htm
Python 2.7 Quick reference на английском, но очень удобно сделан,  варианты для печати/просмотра
Ветка по варезным книжкам (ebooks)
Учебный курс по языку Python Романа Сузи
 
Русскоязычные сайты:
Учебник по Python 2.5: http://ru.wikibooks.org/wiki/Учебник_Python_2.5
INTUIT Учебный курс "Язык программирования Python"
http://zope.net.ru/ http://zope3.ru/
http://python.ru
Python FAQ: http://zope.net.ru/Python/FAQ/
http://iso.ru/cgi-bin/main/journal.cgi  - Практически в каждом номере журнала есть статьи по питону
Обучающий комплекс по языку программирования Питон: http://desk.nl/~vadim/python/  
http://python.su
 
Форумы:
* http://python.anabar.ru/forumz/anafo.py?forumid=4
* http://forum.vingrad.ru/index.php?showforum=116
* http://python.promsoft.ru
* http://ru-python.livejournal.com
* http://python.com.ua/forum = http://python.su
* http://code.activestate.com/recipes/langs/python/ - "рецепты" решения типичных задач
 
Web-программирование на Python
Фрэймворки:
* Zope FAQ: http://zope.net.ru/Zope/FAQ/  
* Web.py
* Django
* Pylons  
* Google App Engine
* Werkzeug
* Flask
* Bottle
* Pyramid
* Django
 
GUI (оконные графические приложения) на Питоне
Python+GTK=pyGTK
wxPython -- самый популярный - для работы с wxWidgets
Python+QT=pyQT
pyGame
nufox = XUL + python
pySWT = python + Eclipse SWT
PyAMF = Python + Flash/Flex/ActionScript
kivy kivy.org GUI для Android-ios-win-lin в т.ч. мультитач
 
Редакторы и IDE - хоть для Питона практически и не нужны никакие IDE
IDLE - включён в стандартную поставку Питона
pyDev - http://pydev.sourceforge.net/ (плагин для Eclipse)
SPE - http://spe.pycs.net/
Wing IDE - http://wingware.com ($)
Boa-Constructor - http://boa-constructor.sourceforge.net/
Vim  
Emacs XEmacs
UliPad - http://wiki.woodpecker.org.cn/moin/UliPad
PyScripter (под Windows) - http://pyscripter.googlecode.com
NBPython (ветка Netbeans) - http://deadlock.netbeans.org/hudson/job/python/
PyCharm - http://www.jetbrains.com/pycharm/ ($)
Komodo Edit




Исправил название /Cheery/

Всего записей: 227 | Зарегистр. 19-12-2001 | Отправлено: 19:08 19-08-2002 | Исправлено: dvs, 13:45 23-12-2013
Mavrikii

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

Цитата:
Как можно сократить код  

поместить повторяющийся код в функцию и вызывать ее. нужно показывать как?
 
ps: это зачем?

Цитата:
int(float(temp1))

Всего записей: 17044 | Зарегистр. 20-09-2014 | Отправлено: 01:11 18-02-2026 | Исправлено: Mavrikii, 02:24 18-02-2026
digital422

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

Цитата:
поместить повторяющийся код в функцию и вызывать ее.

Да, можно и так, попробую взять Ваш предыдущий пример. Вчера пробовал сделать через for, на выходе надо получить json, сделал 2 массива + (for x, i in zip(m1, m2)), цикл есть, но вот подставить данные в структуру json не получилось.
int(float(temp1)) - на входе значения mobus, строка была вместе с кодом преобразования в минус, возможно и не надо ее.

Всего записей: 400 | Зарегистр. 19-04-2003 | Отправлено: 08:25 18-02-2026
Mavrikii

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

Цитата:
int(float(temp1)) - на входе значения mobus, строка была вместе с кодом преобразования в минус, возможно и не надо ее.

покажите, как и пояснение к данным насчет знака битов

Всего записей: 17044 | Зарегистр. 20-09-2014 | Отправлено: 08:39 18-02-2026
digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вроде получилось.

Код:
 
def parse_temperatures(temp):
    #i = int(float(temp))
    i = temp
 
    if (i & 0x8000):
        s16 = -(((~i) & 0xFFFF) + 1)
    else:
        s16 = i
    temp=(float(s16/100))
 
    return (temp)
 
temp1 = parse_temperatures(regs_c[0])
temp2 = parse_temperatures(regs_c[1])
temp3 = parse_temperatures(regs_c[2])
temp4 = parse_temperatures(regs_c[3])
h1 = parse_temperatures(regs_c[4])
 
[125, 65161, 64611, 65260, 7633]
1.25
-3.75
-9.25
-2.76
76.33
 
 

Всего записей: 400 | Зарегистр. 19-04-2003 | Отправлено: 09:39 18-02-2026
Mavrikii

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

Цитата:
    if (i & 0x8000):
        s16 = -(((~i) & 0xFFFF) + 1)
    else:
        s16 = i
    temp=(float(s16/100))

описание из документации где?

Всего записей: 17044 | Зарегистр. 20-09-2014 | Отправлено: 10:07 18-02-2026
digital422

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

Цитата:
описание из документации где?

Что за документация? Код нашел, вставил, если заработал, забыл о нем). Решил на термометрах доделать modbus, а т.к. делал это давно-многое забылось. Все регистры и значения modbus свои.

Всего записей: 400 | Зарегистр. 19-04-2003 | Отправлено: 10:17 18-02-2026
Mavrikii

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

Цитата:
Что за документация?

описывающая как получать нужное значение.
потому что непонятно зачем там столько скобок, почему берется тот бит и тд и тп.
вполне возможно, что считает не совсем точно, поэтому нужно описание битов и значения.

Всего записей: 17044 | Зарегистр. 20-09-2014 | Отправлено: 11:01 18-02-2026
digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Изначально для modbus формируется целый регистр, без бит,  параллельно данные идут в http, результаты одинаковые.  if (i & 0x8000):  - эта конструкция для добавления знака минус. Для примера сейчас [65511] = -0.25
Диапазон значений (0–32767) соответствует положительным числам, а (65535–32768) — отрицательным. 65511-65535=-24, -24/100=-0.24. Вот почему-то есть погрешность в 0,01, ее видно, когда сравниваю с данными на http странице.
 

Код:
 
void modbus() {
  sensor_temp1.requestTemperatures();
  sensor_temp1.setResolution(11);
  float temp1 = sensor_temp1.getTempCByIndex(0);
  if (!isnan(temp1)) {
    temp1_mb = (temp1 * 100); // данные в modbus
    temp1_sn = (temp1); // данные в http
    mb.Hreg(TEMP1_HREG, temp1_mb);
}
 

Всего записей: 400 | Зарегистр. 19-04-2003 | Отправлено: 11:47 18-02-2026 | Исправлено: digital422, 14:02 18-02-2026
Mavrikii

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

Код:
def parse_temperature(temp):
    return (temp - (0x10000 if temp >= 0x8000 else 0)) / 100.
 
print(parse_temperature(65260))

0xFFFF не нужно, если число изначать 16 битное.
 

Всего записей: 17044 | Зарегистр. 20-09-2014 | Отправлено: 20:05 18-02-2026
digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Да, тоже работает и короче, чем текущий.
 
Почему здесь разница в 0,01 иногда появляется, результат округления float? Modbus смотрю напрямую modpool.
temp1_mb = (temp1 * 100); // данные в modbus
temp1_sn = (temp1); // данные в http

Всего записей: 400 | Зарегистр. 19-04-2003 | Отправлено: 20:45 18-02-2026
Mavrikii

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

Цитата:
Почему здесь разница в 0,01 иногда появляется, результат округления float

не могу сказать, слишком мало информации. неизвестно же как данные поступают в http вариант

Всего записей: 17044 | Зарегистр. 20-09-2014 | Отправлено: 21:04 18-02-2026
digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тестирую pyModbusTCP, есть вопрос: после обработки с 1wire датчика приходит значение -1875.0. Надо ли делать преобразование в HEX формат для передачи через modbus или pyModbusTCP сам отконвертирует или достаточно float преобразовать в int ?
P.S. Проверил, float преобразовать в int - данные совпадают.

Всего записей: 400 | Зарегистр. 19-04-2003 | Отправлено: 21:19 18-02-2026 | Исправлено: digital422, 10:52 23-02-2026
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Интернет » Web-программирование » Язык программирования Python (Питон, Пайтон)


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

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

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru