Jump to content

    
Sign in to follow this  
Dubov

Python для разработчика

Recommended Posts

Вопрос: как бы вынести этот функционал наружу в скрипты? QtScript пробовал, как-то криво оно связывается с плюсовой частью...
Хм. Если унаследовать класс от QObject и написать слоты для всего, что хочешь передать в скрипт назвать 'криво связывается', то я уж и не знаю, что будет 'не криво' :wacko:

 

Если очень хочется попробовать силы в велосипедостроении - то вперёд, в lua. Тут уже насоветовали

 

Share this post


Link to post
Share on other sites

Доброго времени суток

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

>>> s='qwertyuiop'
>>> s[::-1]
'poiuytrewq'

сам бы никогда не догадался.

как работает (синтаксически) эта конструкция? s[::-1]

Share this post


Link to post
Share on other sites
как работает (синтаксически) эта конструкция? s[::-1]

 

Последний параметр задает шаг -1, что эквивалентно последовательности:

 

"123"[-1:] + "123"[-2:-1] + "123"[-3:-2]

 

Как и многие вещи в Питоне, это не работает со строками в юникоде, в Ruby все проще и понятнее (и работает хоть с иероглифами):

 

"我爱你".reverse
=> "你爱我"

Share this post


Link to post
Share on other sites
Как и многие вещи в Питоне, это не работает со строками в юникоде, в Ruby все проще и понятнее (и работает хоть с иероглифами):

Это только у веб-программистов не работает потому что они вынуждены до конца своих дней оставаться на второй версии.

post-8528-1523268389_thumb.png

Share this post


Link to post
Share on other sites

чёт я не пойму, в чем должно быть что то не так

Python 2.7.12+ (default, Sep 17 2016, 12:08:02) 
[GCC 6.2.0 20160914] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s=u'العَرَبِيَّة'
>>> s[::-1]
u'\u0629\u0651\u064e\u064a\u0650\u0628\u064e\u0631\u064e\u0639\u0644\u0627'
>>> s
u'\u0627\u0644\u0639\u064e\u0631\u064e\u0628\u0650\u064a\u064e\u0651\u0629'
>>>

 

 

А учитывая то, что у меня рвотный рефлекс на синтаксис пхытона, лучше при мне об этой дряни вообще не говорить (а то могу и заляпать ненароком)!!!

я тоже долго плевался на case sensitivity (казалось бы - ну все для пространства имен есть - зачем этот ужас оставлять????) - и на пробелы вместо табуляций.

в итоге - с пробелами так и не могу смириться. количество ошибок при написании в заточенных под питон редакторах в разы выше чем в например geany

может есть какой-то секрет в части пробелов? не могу. не воспринимается. (шел 6й год питонизма)

специально для pep8 когда просили - делал замену tab=4spaces - понятное дело ))))))

Edited by _Pasha

Share this post


Link to post
Share on other sites
Питон нужен третий :)

 

Это да, только в третьей(!) версии снизошли до этого. Учитывая еще несколько заметных изменений, питоны 2 и 3 можно считать похожими, но разными языками. Что, собственно, и подтверждается отказом некоторых разработчиков адаптировать свой код к питону 3.

 

Но если эти несовместимости еще как-то можно обходить, то фундаментальные проблемы с зависимостью синтаксиса от форматирования и необходимости указания "self." там, где оно не очень нужно, исправить уже не получится. Ну, разве что, выпустив еще одну несовместимую версию.

Share this post


Link to post
Share on other sites

Python 3.5.2+ (default, Sep 22 2016, 12:18:14) 
[GCC 6.2.0 20160927] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> s=u'العَرَبِيَّة'
>>> s.encode('utf-8')
b'\xd8\xa7\xd9\x84\xd8\xb9\xd9\x8e\xd8\xb1\xd9\x8e\xd8\xa8\xd9\x90\xd9\x8a\xd9\x8e\xd9\x91\xd8\xa9'
>>> s[::-1].encode('utf-8')
b'\xd8\xa9\xd9\x91\xd9\x8e\xd9\x8a\xd9\x90\xd8\xa8\xd9\x8e\xd8\xb1\xd9\x8e\xd8\xb9\xd9\x84\xd8\xa7'

переставляет

при непосредственном отображении - живет своей жизнью.

но видимо, с питоном это совершенно не связано

Edited by _Pasha

Share this post


Link to post
Share on other sites

Нашел эту ветку только сейчас.
  
На счет питона для embedded. Последние разработки на PYNQ framework http://www.pynq.io/ от Xilinx мне кажутся очень интересными. 
С одной стороны снижается барьер для application developer(например data scientists) в работе с FPGA. С другой стороны для разработчика FPGA можно использовать все преймущества интерактивной разработки и, например, быструю визуализацию данных в том же Jupiter Notebook. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this