(←) предыдущая запись ; следующая запись (→)
Проблема с этими символами в том, что они гхм… невидимые. В большинстве текстовых редакторов вы даже не поймёте, что в ваш текст затесался такой значок. Меж тем, как мы уже видели на примере математических объединителей, эти символы могут влиять на смысл написанного.
Ещё хуже ситуация оказалась с монгольским разделителем гласных. Он с одной стороны невидимый, а с другой стороны, неясно, считать ли его пробельным символом. В разных стандартах юникода он трактовался по-разному. И это создавало возможность делать программы, которые по-разному будут интерпретироваться в разных версиях компилятора.
Посмотрите на программу. Здесь знак X поставлен вместо того монгольского разделителя:
variable = 13
variableX = 666
print(variable)
Что будет напечатано? Это зависит от того, является ли X частью имени переменной или трактуется как ещё один, пусть и нестандартный, пробел перед знаком равно. Что бы не было напечатано, это точно будет сатанизм какой-то, потому что на мониторе это будет выглядеть так:
variable = 13
variable = 666
print(variable)
и печатать будет где-то 13, где-то 666, а где-то выдаст синтаксическую ошибку.
(5/7)