Вопрос про методы r('') и f('')

Вот пример когда изучаешь или кодишь столкнулся с методами r('') и f('')

f'{"quoted string"}'

и

r('quoted string')

вот понятно что первая это как бы set а вот вторая как бы tuples

Не могу понять разницу просто ?


Ответы (2 шт):

Автор решения: gil9red

Это не методы, а префиксы строк, пишутся без круглых скобок, т.е. r'' и f''.

  • f'' -- это f-строки, они используются для форматирования
  • r'' -- это raw-строки, в них экранирование не происходит, например строка r'a\b\c' без r должна быть записана как 'a\\b\\c'

f'{"quoted string"}'

вот понятно что первая это как бы set

Нет, тут фигурные скобки не про литерал множества, а для создания мест выполнения кода в f-строках.

Например:

a = 1
b = 2
print(f"c = {a + b}")
# c = 3

r('quoted string')

а вот вторая как бы tuples

Неа, это строка, для того, чтобы там был кортеж, в круглых скобках должен быть еще элемент или хотя бы запятая, типа: ('123',). А без этого, круглые скобки не должны считаться и останется только r'quoted string'

→ Ссылка
Автор решения: Victor VosMottor

Это вообще-то не методы, а специальные строки: f-строки и r-строки.

  • f-строка (от слова format) содержит прям внутри себя код. Пример:

    >>> print(f'2+2 = {2 + 2}')
    2+2 = 4
    
  • r-строка (от слова raw) все что содержит — содержит буквально:

    >>> print(r"\n")
    \n
    # vs.
    >>> print("\n") # adds newline
    
→ Ссылка