Jump to content

    

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

Вот он парсер мануала на Kinetis K66 - :08:

Там svd файла что ли не было?

Share this post


Link to post
Share on other sites
Вопрос: как бы вынести этот функционал наружу в скрипты? 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
Как и многие вещи в Питоне, это не работает со строками в юникоде, в Ruby все проще и понятнее (и работает хоть с иероглифами):

post-19987-1523305056_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
чёт я не пойму, в чем должно быть что то не так

Питон нужен третий :)

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now