Рубрики
Без рубрики

Форматированные струнные литералы в Python

Старая школа способ форматирования строк str.format () метод Python .format () был … метки Python, программирование.

Старая школа способ форматирования строк str.format ()

Питон string .format () Метод был введен в версии 2.6. Ниже приведен пример, который использует .format () Метод форматирования строк.

#Example 1 (simple)
name = "Sweta Shaw"
print("My name is {}".format(name))

#output
My name is Sweta Shaw

Приведенный выше код выглядит аккуратно, но реальная борьба происходит, когда увеличивается количество переменных.

#Example 2 (complex)
first_name = "Sweta"
last_name = "Shaw"
profession = "software developer"
platform = "hashnode"

print("Hi! I am {first_name} {last_name}, a {profession} by profession currently writing this article on {platform}.".format(first_name= first_name, last_name =last_name , profession = profession, platform = platform))

# output
Hi! I am Sweta Shaw, a software developer by profession currently writing this article on hashnode.

Вот где F-String Литералы приходят на помощь. Он был введен в Python 3.6

A Форматированный струнный буквальный * или * *F-String * это строковая буквация, которая префикс с фланг или F и вьющиеся скобки, содержащие выражения, которые будут заменены их значениями.

# Example 1 using f-string
name = "Sweta"
print(f"My name is {name}")

# output
My name is Sweta Shaw

Давайте посмотрим, как мы можем написать сложный пример 2, используя F-строки:

# Example 2 using f-string
first_name = "Sweta"
last_name = "Shaw"
profession = "software developer"
platform = "hashnode"

print(f"Hi! I am {first_name} {last_name}, a {profession} by profession currently writing this article on {platform}.")

# output
Hi! I am Sweta Shaw, a software developer by profession currently writing this article on hashnode.

Мы также можем выполнять арифметические операции, используя литералы F-строки.

f"{2 * 37}"
# output 
'74'
a = 20
b = 50

print(f"The smaller number between {a} and {b} is {a if a < b else b}")

# output
The smaller number between 20 and 50 is 20

Печать списка

authors = [("id", "author", "book"), ("101", "Changing India", "Dr. Manmohan Singh"), ("102","War and Peace", "Leo Tolstoy "), ("103", "Emma", "Jane Austen")]
for id, author,book in authors:
    print(f"{id} {author} {book}")

# output
id author book
101 Changing India Dr. Manmohan Singh
102 War and Peace Leo Tolstoy 
103 Emma Jane Austen

Украсить этот выход, используя F-String Cadent

Это делается путем упоминания количества пространств, разыгрываемых каждой переменной. Здесь «ID» было назначено по 5 мест и автора и книги по 20 мест каждый.

authors = [("id", "author", "book"), ("101", "Changing India", "Dr. Manmohan Singh"), ("102","War and Peace", "Leo Tolstoy "), ("103", "Emma", "Jane Austen")]
for id, author,book in authors:
    print(f"{id:{5}} {author:{20}} {book}")

# output:
id    author               book
101   Changing India       Dr. Manmohan Singh
102   War and Peace        Leo Tolstoy 
103   Emma                 Jane Austen


Вы можете прочитать больше о литералах F-String Здесь

Оригинал: “https://dev.to/sweta_shaw/formatted-string-literals-in-python-6o1”