Найти - Пользователи
Полная версия: Помогите подсчитать количество символов в строке !!!
Начало » Python для новичков » Помогите подсчитать количество символов в строке !!!
1 2 3
DMM
py.user.next

Спасибо за разъяснение. Ну все равно не очень понимаю как эти юнит коды определять?
DMM
ZerG
Ты не понимаешь что ты делаешьhttps://pyneng.readthedocs.io/ru/latest/book/16_unicode/python_3_unicode.htmlстроки - неизменяемая последовательность Unicode-символов. Для хранения этих символов используется тип строка (str)'\u0398' - символ

Прочитал, но возник вопрос. Почему f что между слешами не подсчитывается?? Это тоже юнит код?

DMM
А вот в этом примере оно уже считает строку как не юни код уже. Почему так??

ZerG
Мне влом грузить картинки
пиши буквы
DMM
ZerG
Мне влом грузить картинки пиши буквы

Это код с ппервого вопроса
 a = "1d\u4579\f\
u0399\er"
print (len (a))
Выходит 8


Во втором
 a = "1d\u4579\f\
t0399 \er"
print (len (a))
Выходит 12

Почему так?

ZerG
оберни текст в тег код - ничитаемо
DMM
ZerG
оберни текст в тег код - ничитаемо

Обернул))
ZerG
потому что переносы строки и пробелы это тоже символ
py.user.next
DMM
Ну все равно не очень понимаю как эти юнит коды определять?
После \u идут четыре 16-ричных цифры. Шестнадцатеричные цифры - это от 0 1 2 3 4 5 6 7 8 9 a b c d e f.

DMM
Почему f что между слешами не подсчитывается?? Это тоже юнит код?
Это не юникод. Юникодовый символ - это всегда сначала идёт \u, а потом четыре шестнадцатеричных цифры.

А \f - это символ новой страницы в консоли.
This character is a control character in the ASCII standard, originally used to cause a printer to eject the current page and to continue printing at the top of the next.

А \e - это два символа. Тут один символ - это бэкслеш. Второй символ - это e. Раскладываются они на два символа потому, что нет такой последовательности \e среди зарезервированных последовательностей.

Как он определяет? Да он по-умному определяет. Всё это описано в документации к питону.

Вот про сами строки документация
https://docs.python.org/3/reference/lexical_analysis.html#strings

Вот про внутренние последовательности строк документация
https://docs.python.org/3/reference/lexical_analysis.html#escape-sequences

А вообще, возьми учебник для новичков, там это всё от простого к сложному описывается обычно.
DMM
py.user.next

Спасибо за разъяснение)) теперь уже понял что к чему

Теперь понятно почему здесь 7 стмволов:

 a = str("1a\u0398\ f\u03843s")
b = str(len(a))
print(a,   , b)
1aOx'3s   7

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB