Как напечатать процент в f-строке?

Для экранирования символа процента (%) в f-строке необходимо его удвоить: {{ value }}%%. Например:

    value = 25
    print(f"Процентное значение: {value}%")  # Ошибка
    print(f"Процентное значение: {value}%%") # Выведет "Процентное значение: 25%"
  

На собеседовании по Python разработке вопрос о выводе знака процента (%) в f-строке проверяет знание базового синтаксиса и особенностей форматирования строк в Python.

Есть несколько способов достичь желаемого результата:

  1. Экранирование символа процента: Используйте двойной процент (%%). Python интерпретирует `%%` как один символ процента.
    
            percentage = 50
            result = f"Значение равно {percentage}%%"
            print(result) # Выведет: Значение равно 50%
          

    В этом примере `f"Значение равно {percentage}%%"` выведет "Значение равно 50%".

  2. Использование Unicode символа процента: Можно использовать Unicode-представление знака процента (U+0025). Хотя это менее распространено, это тоже валидный способ.
    
            percentage = 50
            result = f"Значение равно {percentage}\u0025"
            print(result) # Выведет: Значение равно 50%
          

    В данном случае `\u0025` это Unicode для символа процента.

  3. Форматирование с использованием спецификаторов формата: Хотя и более громоздко для этой конкретной задачи, можно использовать спецификаторы формата для чисел.
    
            percentage = 0.5
            result = f"Значение равно {percentage:.0%}" #Округление до целого числа и отображение процента
            print(result)
            #Вывод: Значение равно 50%
    
            percentage = 0.567
            result = f"Значение равно {percentage:.2%}" #Округление до 2 знаков после запятой и отображение процента
            print(result)
            #Вывод: Значение равно 56.70%
          

    Это полезно, когда нужно, например, округлить до целого числа и отобразить процент.

Какой способ выбрать?

Обычно, самым простым и читаемым способом является экранирование с использованием %%. Это наиболее распространенный и понятный подход.

На собеседовании важно не только знать ответ, но и уметь объяснить, почему именно этот способ был выбран, и как он работает.

0