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

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

Модерирует : 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

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

Язык программирования Python (Питон, Пайтон)
 ОтветГолосаПроценты
первый раз слышу8
1.37%
слыхал, но ничего сказать про него немогу142
24.40%
изучал, но меня от него не прёт25
4.30%
изучаю и скоро на него перейду258
44.33%
скрипты пишу в основном на нём94
16.15%
пишу только на нём47
8.08%
я из комманды разработчиков Python'а8
1.37%
Гости не могут голосовать, зарегистрируйтесть!Всего Голосов: 582
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
SharkyEXE

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Здравствуйте.
 
Сменил язык интерфейса на английский
 
Все отображается ровно https://imgur.com/a/07ozleo
 
Есть или нет какой-то финт, костыль, чтобы язык был русский интерфейс, а вывод как на английском + замена английского названия месяца + замена английских дней недели?

Всего записей: 354 | Зарегистр. 25-01-2009 | Отправлено: 11:35 12-06-2018
Mavrikii

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

Цитата:
какой-то финт, костыль

смена шрифта или html календарь, написал уже не раз.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 19:38 12-06-2018
SharkyEXE

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Здравствуйте.
 
1) В общем, решил так Подробнее...
 
Итого так https://i.imgur.com/m8OHInT.jpg
 
Большое Вам спасибо.

Всего записей: 354 | Зарегистр. 25-01-2009 | Отправлено: 09:28 16-06-2018 | Исправлено: SharkyEXE, 21:35 17-06-2018
SharkyEXE

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
 
Пожалуйста , что сделано не так , почему не меняется дата при помощи ввода цифр Подробнее...
 
Суть - чтобы дата менялась при помощи ввода ввод цифр от 0 до 9 включительно , чтобы дата менялась также , как меняется время
 
Спасибо.

Всего записей: 354 | Зарегистр. 25-01-2009 | Отправлено: 22:26 17-06-2018 | Исправлено: SharkyEXE, 12:38 12-08-2018
digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, помогите доделать задачу. Надо обрезать полученную с http запроса строку чтобы получить одно слово true. В bash это делается легко, но надо делать на python3, чтобы потом управлять Gpi (raspberry).

Код:
 
b'table.MotionDetect[0].Enable=true\r\n'
 

Всего записей: 351 | Зарегистр. 19-04-2003 | Отправлено: 20:58 13-08-2018
Mavrikii

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

Цитата:
 получить одно слово true.

зачем обрезать, если можно просто проверить есть там true или нет. или возможны другие ответы?
 
SharkyEXE

Цитата:
почему не меняется дата при помощи ввода

посмотрите в каком виде получаете строку в
Цитата:
os.system('/bin/date -s %s' % dtt)

ну и, возможно, срабатывает исключение.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 21:22 13-08-2018
digital422

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

Цитата:
зачем обрезать, если можно просто проверить есть там true или нет. или возможны другие ответы?

true или false, больше вариантов нет.

Всего записей: 351 | Зарегистр. 19-04-2003 | Отправлено: 21:32 13-08-2018
Mavrikii

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

Цитата:
true или false, больше вариантов нет

ну так просто проверяете есть ли в строке true или false, зачем резать?
https://docs.python.org/3/reference/expressions.html#membership-test-details

Код:
value = True if "true" in somestring else False

somestring - ваша строка в переменной

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 21:37 13-08-2018 | Исправлено: Mavrikii, 21:38 13-08-2018
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Опять про несколько селекторов метода select модуля Beautiful Soup 4.
Разобрался почему косяк.
В начале кода select:

Код:
        if ',' in selector:
            context = []
            for partial_selector in selector.split(','):
                partial_selector = partial_selector.strip()
                if partial_selector == '':
                    raise ValueError('Invalid group selection syntax: %s' % selector)
                candidates = self.select(partial_selector, limit=limit)
                for candidate in candidates:
                    if candidate not in context:
                        context.append(candidate)
 
                if limit and len(context) >= limit:
                    break
            return context
        tokens = shlex.split(selector)
        current_context = [self]

Проблема в том, что in проверяет на эквивалентность, а не на идентичность как is. Соответственно, если в массиве context уже есть тег с таким же содержимым (строки, другие теги), то candidate в него не попадет.
 
Т.е. эту проверку надо менять на что-то другое.
Какая самая быстрая проверка будет?

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 04:59 14-08-2018 | Исправлено: unreal666, 05:00 14-08-2018
Mavrikii

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

Цитата:
Проблема в том, что in проверяет на эквивалентность, а не на идентичность как is. Соответственно, если в массиве context уже есть тег с таким же содержимым (строки, другие теги), то candidate в него не попадет.

"тег" - объект или что? объекты, как раз, нормально сравниваются.
простой пример

Код:
class Test():
    def __init__(self, attr):
        self.attr = attr
 
tmp = Test('abc')
tmp2 = Test('abc')
test = [tmp2, 'ab']
 
if tmp in test:
  print('yes')
 
if tmp2 in test:
  print('yes2')

выдает yes2

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 05:21 14-08-2018
unreal666



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

Цитата:
>> import bs4
>> s = bs4.BeautifulSoup('fake')
>> s.new_tag('p') in [s.new_tag('p')]
True

ЗЫ,
У класса Tag есть свой метод __eq__ :

Код:
    def __eq__(self, other):
        """Returns true iff this tag has the same name, the same attributes,
        and the same contents (recursively) as the given tag."""
        if self is other:
            return True
        if (not hasattr(other, 'name') or
            not hasattr(other, 'attrs') or
            not hasattr(other, 'contents') or
            self.name != other.name or
            self.attrs != other.attrs or
            len(self) != len(other)):
            return False
        for i, my_child in enumerate(self.contents):
            if my_child != other.contents[i]:
                return False
        return True

Поэтому такой облом.
 
Добавлено:
Наверно

Код:
if candidate not in context:

надо заменить на что-то типа

Код:
if all(candidate is not i for i in context):

 
Добавлено:
ЗЫ.
В версии 4.6.1 это исправлено, но в pip ее еще нет (не зарелизена), только на launchpad
 
Добавлено:
можно как то с launchpad установить через pip?

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 05:36 14-08-2018 | Исправлено: unreal666, 06:21 14-08-2018
Mavrikii

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

Цитата:
if all(candidate is not i for i in context):

ну так замените, не работает что ли?

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 06:59 14-08-2018
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
да я уже некоторые места заменил из файла с launchpad.
Просто хотел централизовано, т.к. не знаю, сможет ли pip-пакет обновиться, если есть измененные файлы
 
Там сделано немного по другому. Дополнительно ввели set-набор с хранение id объектов. Вот именно id и сравнивают на присутствие:

Код:
        if ',' in selector:
            context = []
            selectors = [x.strip() for x in selector.split(",")]
 
            # If a selector is mentioned multiple times we don't want
            # to use it more than once.
            used_selectors = set()
 
            # We also don't want to select the same element more than once,
            # if it's matched by multiple selectors.
            selected_object_ids = set()
            for partial_selector in selectors:
                if partial_selector == '':
                    raise ValueError('Invalid group selection syntax: %s' % selector)
                if partial_selector in used_selectors:
                    continue
                used_selectors.add(partial_selector)
                candidates = self.select(partial_selector, limit=limit)
                for candidate in candidates:
                    # This lets us distinguish between distinct tags that
                    # represent the same markup.
                    object_id = id(candidate)
                    if object_id not in selected_object_ids:
                        context.append(candidate)
                        selected_object_ids.add(object_id)
                if limit and len(context) >= limit:
                    break
            return context

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 07:12 14-08-2018 | Исправлено: unreal666, 07:15 14-08-2018
Mavrikii

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

Цитата:
сможет ли pip-пакет обновиться, если есть измененные файлы

а нужно ли? наследовать, переписать нужный метод, использовать обновленный класс.

Цитата:
Вот именно id и сравнивают на присутствие

именно id и сравнивает is

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 07:14 14-08-2018 | Исправлено: Mavrikii, 07:17 14-08-2018
SharkyEXE

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Здравствуйте.
 
Проблема - python 2.7 , 32 битный , операционная система Linux
 
Не ставится дата и время выше 18.01.2038 23:59:59
 
Пожалуйста , я Вас очень прошу , помогите , как альтернативно команде
system('/bin/date -s %s' % dtt) , где dtt - строка вида %d%02d%02d%02d%02d , где год_месяц_день_часы_минуты.секунды
сменить системную дату и время выше 18.01.2038 23:59:59

Всего записей: 354 | Зарегистр. 25-01-2009 | Отправлено: 23:14 21-08-2018 | Исправлено: SharkyEXE, 23:15 21-08-2018
Maks113



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тут вопрос больше не по питону. Это известный баг, связанный с разрядностью системы.
 
Копать, насколько понял, нужно в сторону time.h
Есть такое решение, в подробностях не разбирался. https://github.com/evalEmpire/y2038

Всего записей: 10 | Зарегистр. 13-12-2012 | Отправлено: 23:25 21-08-2018
SharkyEXE

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks113
 
Здравствуйте.
 
Да как бы видел Вашу ссылку до того , как написать здесь.
 
Мне больше хочется альтернативного изменения системного даты и времени , обойдя команду date ос Linux

Всего записей: 354 | Зарегистр. 25-01-2009 | Отправлено: 23:31 21-08-2018
Maks113



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, Здравствуйте! (где мои манеры)
 
Насколько я понял, вариант с вызовом системного date самый простой. Есть вариант с использованием модуля ctypes, но там так же вызывается системная библиотека.  
 
Проблема не поменять время в обход системной date, проблема объяснить 32 разрядной системе, что есть время после 18.01.2038 23:59:59. Думаю, без изменения системной библиотеки ничего сделать не получится.

Всего записей: 10 | Зарегистр. 13-12-2012 | Отправлено: 23:57 21-08-2018
SharkyEXE

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks113
 
Здравствуйте.
 
А есть какой-нибудь код на python ,  чтобы при запуске кода менялось системное дата и время, я бы проверил, может сработает?
 
Хотя бы пример с datetime
 
По поводу https://github.com/evalEmpire/y2038 - а скомпилировать и заменить какие-то файлы не поулчится?

Всего записей: 354 | Зарегистр. 25-01-2009 | Отправлено: 00:11 22-08-2018 | Исправлено: SharkyEXE, 00:12 22-08-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SharkyEXE
питон тут ни при чем, как уже и сказали.  вам придется заменять файлы в операционной системе устройства, что не всегда возможно и может привести к непредсказуемым последствиям
https://ru.wikipedia.org/wiki/Проблема_2038_года

Цитата:
Для проблемы 2038 года не существует простого решения для существующих комбинаций операционных систем и прикладного программного обеспечения. Изменение определения типа time_t на 64 бита нарушит бинарную совместимость программ, существующих хранимых данных и всего другого, использующего представление времени в бинарном виде. А приведение time_t в целое без знака может нарушить работу программ, которые вычисляют разницу во времени.
 
В большинстве операционных систем для 64-битных архитектур уже используется 64-битное представление целого в time_t. Переход на такие архитектуры уже происходит, и некоторые ожидают, что он будет завершён к 2038 году.
 
Тем не менее, сотни тысяч 32-битных систем всё ещё вводятся в строй в настоящее время, в том числе и во встраиваемых системах. Вызывает сомнение, что они все будут заменены к 2038 году. Несмотря на то, что современные компьютерные системы могут модернизироваться раз в 18—24 месяцев (по «Закону Мура»), встроенные компьютеры могут действовать без модернизации весь срок, который работают системы, ими управляемые. Например, компьютеры управления процессами модели IBM 1800, выпуск которых был начат в 1965 году, всё ещё использовались на одной из атомных станций в Канаде в 2006 году.
 
В дополнение к этому, 32-битный формат time_t также включён в спецификации форматов файлов, таких как повсеместно распространённый архивный формат ZIP. Формат файла может существовать в течение времени, за которое сменятся многие поколения компьютеров, а это означает, что Проблема 2038 останется актуальной.

проверяете битность ОС в устройстве. если она 32битная, то ничего не сделать.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 05:45 22-08-2018 | Исправлено: Mavrikii, 05:55 22-08-2018
Открыть новую тему     Написать ответ в эту тему

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru