Графемика
графемы
Введение
Графема — минимальная единица письменности. В алфавитных системах письма графеме соответствует буква (или другое отражение фонемы), в неалфавитных — слоговой знак, иероглиф, идеограмма и другие.
В естественном языке базовым, исходным является фонетический уровень. Он отражает звуковой строй, минимальными единицами которого являются фонемы. С фонемами соотносятся графемы, тем самым обеспечивая реализацию языка в письменной форме. При переносе этих понятий на язык программирования мы сталкиваемся с потребностью адаптации терминологии, поскольку Python, как и другие формальные языки, не имеет закреплённой звуковой формы существования. Однако его письменная форма обладает собственными минимальными единицами — символами, которые выполняют функции, аналогичные графемам в письме в естественных языках.
В естественных языках основой письменности является алфавит — упорядоченный набор букв (графем), из которых строятся слова. В Python, как и в любом письменном языке, тоже есть свой алфавит.
В лингвистической терминологии этот набор допустимых символов называется «графемным арсеналом» языка. Для простоты восприятия гуманитарной аудиторией в рамках модели лингвистического перевода мы будем называть его алфавитом Python.
Алфавит Python состоит из
1
Латинских букв в верхнем и нижнем регистрах
2
Арабских цифр
3
Специальных символов
4
Операторов и разделителей

Регистры буквенных символов

Регистр букв в Python является смыслоразличительным. Например, переменные User и user — это разные идентификаторы.

Аналогия в русском языке: «Мама купила джип» (любой внедорожник) vs «Мама купила Джип» (автомобиль конкретной марки).
В соответствии с PEP 8, имена классов записываются в нотации PascalCase: class UserProfile:. Это не синтаксическое правило, но значимое стилистическое соглашение, помогающее быстро идентифицировать тип сущности.

Символ нижнего подчёркивания

Подчёркивание в разных позициях и контекстах — это не просто один символ, а целый набор языковых инструментов.
Позиция
Пример
Функция
В середине имени
user_name
В начале имени (одинарное)
_internal
Указание на «внутренний» атрибут
Двойное с обеих сторон
_init_

Кавычки и строковые литералы

Строковый литерал — это текст, заключённый в кавычки. Интерпретатор Python воспринимает его как единое целое (тип данных str), а не как отдельные команды или символы.

В естественном языке кавычки служат для выделения прямой речи, цитат, названий. В Python они выполняют ту же функцию — обозначают границы текстовых данных.
# Примеры строковых литералов
name = 'Анна'                # одинарные кавычки
message = "Hello, world!"    # двойные кавычки
text = '''Это
многострочная
строка'''                    # тройные кавычки
Тройные кавычки позволяют записывать текст в несколько строк. Всё, что внутри них (включая переносы строк), сохраняется как часть строки. В русском языке они функционально аналогичны абзацу или цитатному блоку в прямой речи:
Абзац обозначает смысловую целостность фрагмента текста.
Цитатный блок (например, выделенный отступом или шрифтом) позволяет включить в текст протяжённую цитату без потери её внутреннего форматирования.
Тип кавычек
Пример
Когда использовать
Одинарные
'Привет'
Для коротких строк
Двойные
"Привет"
Для коротких строк, равнозначны одинарным
Тройные одинарные
'''Многострочный\nтекст'''
Для длинных строк и документации
Тройные двойные
"""Многострочный\nтекст"""
Для длинных строк и документации, равнозначны тройным одинарным
Для интерпретатора Python одинарные и двойные кавычки равнозначны. Это как в русском языке, где кавычки-«ёлочки» и кавычки-„лапки“ выполняют одну и ту же функцию, хотя выглядят по-разному.

Docstrings: документация как метатекст

Docstring (строка документации) — это особый случай использования тройных кавычек. Она располагается в самом начале функции, класса или модуля и описывает его назначение.
def calculate_average(numbers):
"""
Вычисляет среднее арифметическое списка чисел.

Параметры:
numbers (list): список чисел

Возвращает:
float: среднее арифметическое
"""
return sum(numbers) / len(numbers)
В лингвистике метатекст — это «высказывания о текущей речи в этой же речевой ситуации». Простыми словами: это текст о тексте.

Docstring — это метатекст в мире программирования:

  • Он не влияет на выполнение программы.
  • Он обращён к человеку (разработчику, который будет использовать эту функцию).
  • Он объясняет, что делает код и как его использовать.

Аналогами docstring (и метатекста в целом) в русском языке служат:
  • Сноски и примечания на полях
  • Предисловия и послесловия в книгах
  • Пояснения в скобках внутри текста

Все эти элементы находятся «вне» основного текста, не влияют на его фактическое содержание, но помогают читателю лучше понять написанное.