|
|
  |
Python для разработчика, зачем? |
|
|
|
Apr 9 2018, 05:22
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Доброго времени суток как-то понадобилось переставить символы в строке задом наперед, столкнулся с Код >>> s='qwertyuiop' >>> s[::-1] 'poiuytrewq' сам бы никогда не догадался. как работает (синтаксически) эта конструкция? s[::-1]
|
|
|
|
|
Apr 9 2018, 07:22
|

Профессионал
    
Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072

|
Цитата(_Pasha @ Apr 9 2018, 08:22)  как работает (синтаксически) эта конструкция? s[::-1] Последний параметр задает шаг -1, что эквивалентно последовательности: Код "123"[-1:] + "123"[-2:-1] + "123"[-3:-2] Как и многие вещи в Питоне, это не работает со строками в юникоде, в Ruby все проще и понятнее (и работает хоть с иероглифами): Код "我爱你".reverse => "你爱我"
|
|
|
|
|
Apr 10 2018, 05:09
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
чёт я не пойму, в чем должно быть что то не так Код 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' >>> Цитата(Эдди @ Mar 14 2018, 12:59)  А учитывая то, что у меня рвотный рефлекс на синтаксис пхытона, лучше при мне об этой дряни вообще не говорить (а то могу и заляпать ненароком)!!! я тоже долго плевался на case sensitivity (казалось бы - ну все для пространства имен есть - зачем этот ужас оставлять????) - и на пробелы вместо табуляций. в итоге - с пробелами так и не могу смириться. количество ошибок при написании в заточенных под питон редакторах в разы выше чем в например geany может есть какой-то секрет в части пробелов? не могу. не воспринимается. (шел 6й год питонизма) специально для pep8 когда просили - делал замену tab=4spaces - понятное дело ))))))
Сообщение отредактировал _Pasha - Apr 10 2018, 05:11
|
|
|
|
|
Apr 10 2018, 07:09
|

Профессионал
    
Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072

|
Цитата(AHTOXA @ Apr 10 2018, 09:49)  Питон нужен третий  Это да, только в третьей(!) версии снизошли до этого. Учитывая еще несколько заметных изменений, питоны 2 и 3 можно считать похожими, но разными языками. Что, собственно, и подтверждается отказом некоторых разработчиков адаптировать свой код к питону 3. Но если эти несовместимости еще как-то можно обходить, то фундаментальные проблемы с зависимостью синтаксиса от форматирования и необходимости указания "self." там, где оно не очень нужно, исправить уже не получится. Ну, разве что, выпустив еще одну несовместимую версию.
|
|
|
|
|
Apr 10 2018, 10:52
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Код 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' переставляет при непосредственном отображении - живет своей жизнью. но видимо, с питоном это совершенно не связано
Сообщение отредактировал _Pasha - Apr 10 2018, 11:07
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|