Python переменные в кавычках

f-строки в Python

Форматирование строк – это их оформление с помощью методов, предоставляемых конкретным языком программирования. В Python есть различные техники форматирования строк. Сейчас мы рассмотрим новый вариант – f-строки. Он стал доступен начиная с Python 3.6.

f-строки оцениваются во время выполнения программы. Этот подход обеспечивает лучшую скорость по сравнению с более старыми способами форматирования.

Также f-строки отличаются более простым синтаксисом. Каждый оператор f-строк состоит из двух частей. Первая – символ f или F, а вторая – строка, которую мы хотим отформатировать. Строка заключается в одинарные, двойные или тройные кавычки.

# Также можно использовать F, '', "", """""" f"string"

На месте string нужно поместить нашу строку, которую мы хотим отформатировать.

Примечание редакции: о красивом выводе чисел читайте в статье “Форматирование чисел в Python”.

Отображение переменных

Раньше для форматирования строк мы чаще всего использовали метод str.format() . Но теперь у нас появился новый способ, позволяющий работать вдвое быстрее.

Переменные, заключенные в фигурные скобки <> , выводятся так, как если бы их передали в оператор print. Рассмотрим пример.

# Объявление переменных name = "Datacamp" type_of_company = "Educational" # Заключаем переменные в <>, чтобы вывести их значение print(f" is an company.") # Результат: # Datacamp is an Educational company.

Мы получили значения переменных в выводе. Видите, все просто. Мы также можем заменить f на F.

# Объявление переменных name = "Datacamp" type_of_company = "Educational" # Заключаем переменные в <>, чтобы вывести их значение print(F" is an company.") # Результат: # Datacamp is an Educational company.

Выражения

f-строка позволяет нам оценивать выражения внутри строки. Это могут быть арифметические выражения, вызовы функций и т.д.

Просто поместите выражение, которое нужно оценить, внутрь фигурных скобок <> . f-строка оценит его во время выполнения программы. Это отличная возможность, которая экономит ваше время и код.

Давайте посмотрим примеры различных типов выражений.

# Арифметическое выражение print(f"") # Результат: # 25

Мы также можем вызывать функции внутри <> . Давайте определим функцию greet() и вызовем ее в f-строке.

def greet(name): return "Hello, " + name # Вызов функции с использованием f-строки name = "Datacamp" print(f"") # Результат: # Hello, Datacamp

Таким же образом мы можем вызывать предопределенные методы. Давайте посмотрим.

# Вызов метода title, который переводит первую букву каждого слова в верхний регистр string = "datacamp is an educational company." print(f"") # Результат: # Datacamp Is An Educational Company.

Что еще мы можем сделать с f-строками? Можем ли мы отобразить объект? Да, можем. Это аналогично выводу переменных.

class Sample: def __init__(self, name, age): self.name = name self.age = age # Этот метод будет вызываться при распечатке объекта def __str__(self): return f' is years old.' john = Sample("John", 19) # Это вызовет метод __str__() print(f"") # Результат: # John is 19 years old.

Специальные символы

Что, если мы хотим отобразить специальные символы, такие как <> , \’ , \» , которые в Python имеют особое значение? Можем ли мы использовать символ экранирования (обратный слэш) внутри f-строки? Давайте разбираться.

Вывод кавычек

В f-строке можно использовать любые кавычки (одиночные, двойные или тройные). Для печати кавычек следует использовать символ экранирования. Но в выражениях использовать обратную косую черту нельзя, поэтому мы должны поместить ее вне фигурных скобок.

Рассмотрим это на примерах.

name = "Datacamp" # Отображение одинарных кавычек print(f"Hello, \'\'") print() # Отображение двойных кавычек print(f"Hello, \"\"") # Результат: # Hello, 'Datacamp' # Hello, "Datacamp"

Рассмотрим другие варианты использования кавычек в f-строках.

f'' # Результат: # 'Hello, Datacamp'
f"" # Результат: # 'Hello, Datacamp'
f"""Hello, Datacamp""" # Результат: # 'Hello, Datacamp'
f'''Hello, Datacamp''' # Результат: # 'Hello, Datacamp'

Мы также можем заключить фигурные скобки в тройные кавычки.

Использовать обратную косую черту внутри фигурных скобок в f-строке нельзя. Попытавшись сделать это, вы получите ошибку.

File "", line 1 print(f"") ^ SyntaxError: f-string expression part cannot include a backslash

Вывод фигурных скобок

Для печати фигурных скобок с помощью f-строк нужно использовать двойной набор скобок:

Если вы хотите отобразить два набора скобок с помощью f-строки, то вам придется использовать четыре набора скобок.

Словари

Мы должны быть немного осторожны, работая с ключами словаря внутри f-строки. Для ключей и f-строки нужно использовать разные кавычки.

person = print(f" is years old.") # Результат: # John is 19 years old.
person = print(f' is years old.')
File "", line 2 print(f' is years old.') ^ SyntaxError: invalid syntax

Я надеюсь, прочитав эту статью, вы узнали что-то новое о Python. Успешного кодинга 🙂

Перевод статьи Hafeezul Kareem Shaik «f-string Formatting in Python».

Источник

Python переменные в кавычках

Переменные предназначены для хранения данных. Название переменной в Python должно начинаться с алфавитного символа или со знака подчеркивания и может содержать алфавитно-цифровые символы и знак подчеркивания. И кроме того, название переменной не должно совпадать с названием ключевых слов языка Python. Ключевых слов не так много, их легко запомнить:

False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield

Например, создадим переменную:

Здесь определена переменная name , которая хранит строку «Tom».

В пайтоне применяется два типа наименования переменных: camel case и underscore notation .

Camel case подразумевает, что каждое новое подслово в наименовании переменной начинается с большой буквы. Например:

Underscore notation подразумевает, что подслова в наименовании переменной разделяются знаком подчеркивания. Например:

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

# две разные переменные name = "Tom" Name = "Tom"

Определив переменную, мы можем использовать в программе. Например, попытаться вывести ее содержимое на консоль с помощью встроенной функции print :

name = "Tom" # определение переменной name print(name) # вывод значения переменной name на консоль

Например, определение и применение переменной в среде PyCharm:

Переменные в Python

Отличительной особенностью переменной является то, что мы можем менять ее значение в течение работы программы:

name = "Tom" # переменной name равна "Tom" print(name) # выводит: Tom name = "Bob" # меняем значение на "Bob" print(name) # выводит: Bob

Типы данных

Переменная хранит данные одного из типов данных. В Python существует множество различных типов данных. В данном случае рассмотрим только самые базовые типы: bool , int , float , complex и str .

Логические значения

Тип bool представляет два логических значения: True (верно, истина) или False (неверно, ложь). Значение True служит для того, чтобы показать, что что-то истинно. Тогда как значение False , наоборот, показывает, что что-то ложно. Пример переменных данного типа:

isMarried = False print(isMarried) # False isAlive = True print(isAlive) # True

Целые числа

Тип int представляет целое число, например, 1, 4, 8, 50. Пример

age = 21 print("Возраст:", age) # Возраст: 21 count = 15 print("Количество:", count) # Количество: 15

По умолчанию стандартные числа расцениваются как числа в десятичной системе. Но Python также поддерживает числа в двоичной, восьмеричной и шестнадцатеричной системах.

Для указания, что число представляет двоичную систему, перед числом ставится префикс 0b :

a = 0b11 b = 0b1011 c = 0b100001 print(a) # 3 в десятичной системе print(b) # 11 в десятичной системе print(c) # 33 в десятичной системе

Для указания, что число представляет восьмеричную систему, перед числом ставится префикс 0o :

a = 0o7 b = 0o11 c = 0o17 print(a) # 7 в десятичной системе print(b) # 9 в десятичной системе print(c) # 15 в десятичной системе

Для указания, что число представляет шестнадцатеричную систему, перед числом ставится префикс 0x :

a = 0x0A b = 0xFF c = 0xA1 print(a) # 10 в десятичной системе print(b) # 255 в десятичной системе print(c) # 161 в десятичной системе

Стоит отметить, что в какой-бы системе мы не передали число в функцию print для вывода на консоль, оно по умолчанию будет выводиться в десятичной системе.

Дробные числа

Тип float представляет число с плавающей точкой, например, 1.2 или 34.76. В качесте разделителя целой и дробной частей используется точка.

height = 1.68 pi = 3.14 weight = 68. print(height) # 1.68 print(pi) # 3.14 print(weight) # 68.0

Число с плавающей точкой можно определять в экспоненциальной записи:

x = 3.9e3 print(x) # 3900.0 x = 3.9e-3 print(x) # 0.0039

Число float может иметь только 18 значимых символов. Так, в данном случае используются только два символа — 3.9. И если число слишком велико или слишком мало, то мы можем записывать число в подобной нотации, используя экспоненту. Число после экспоненты указывает степень числа 10, на которое надо умножить основное число — 3.9.

Комплексные числа

Тип complex представляет комплексные числа в формате вещественная_часть+мнимая_часть j — после мнимой части указывается суффикс j

complexNumber = 1+2j print(complexNumber) # (1+2j)

Строки

Тип str представляет строки. Строка представляет последовательность символов, заключенную в одинарные или двойные кавычки, например «hello» и ‘hello’. В Python 3.x строки представляют набор символов в кодировке Unicode

message = "Hello World!" print(message) # Hello World! name = 'Tom' print(name) # Tom

При этом, если строка имеет много символов, ее можно разбить на части и эти части разместить на разных строках кода. В этом случае вся строка заключается в круглые скобки, а ее отдельные части — в кавычки:

text = ("Laudate omnes gentes laudate " "Magnificat in secula ") print(text)

Если же мы хотим определить многострочный текст, то такой текст заключается в тройные двойные или одинарные кавычки:

''' Это комментарий ''' text = '''Laudate omnes gentes laudate Magnificat in secula Et anima mea laudate Magnificat in secula ''' print(text)

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

Управляющие последовательности в строке

Строка может содержать ряд специальных символов — управляющих последовательностей. Некоторые из них:

  • \\ : позволяет добавить внутрь строки слеш
  • \’ : позволяет добавить внутрь строки одинарную кавычку
  • \» : позволяет добавить внутрь строки двойную кавычку
  • \n : осуществляет переход на новую строку
  • \t : добавляет табуляцию (4 отступа)

Применим несколько последовательностей:

text = "Message:\n\"Hello World\"" print(text)

Консольный вывод программы:

Хотя подобные последовательности могут нам помочь в некоторых делах, например, поместить в строку кавычку, сделать табуляцию, перенос на другую строку. Но они также могут и мешать. Например:

path = "C:\python\name.txt" print(path)

Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы «\n», которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод:

Чтобы избежать подобной ситуации, перед строкой ставится символ r

path = r"C:\python\name.txt" print(path)

Вставка значений в строку

Python позволяет встравивать в строку значения других переменных. Для этого внутри строки переменные размещаются в фигурных скобках <>, а перед всей строкой ставится символ f :

userName = "Tom" userAge = 37 user = f"name: age: " print(user) # name: Tom age: 37

В данном случае на место будет вставляться значение переменной userName. Аналогично на вместо будет вставляться значение переменной userAge.

Динамическая типизация

Python является языком с динамической типизацией. А это значит, что переменная не привязана жестко с определенному типу.

Тип переменной определяется исходя из значения, которое ей присвоено. Так, при присвоении строки в двойных или одинарных кавычках переменная имеет тип str . При присвоении целого числа Python автоматически определяет тип переменной как int . Чтобы определить переменную как объект float, ей присваивается дробное число, в котором разделителем целой и дробной части является точка.

При этом в процессе работы программы мы можем изменить тип переменной, присвоив ей значение другого типа:

userId = "abc" # тип str print(userId) userId = 234 # тип int print(userId)

С помощью встроенной функции type() динамически можно узнать текущий тип переменной:

userId = «abc» # тип str print(type(userId)) # userId = 234 # тип int print(type(userId)) #

Источник

Читайте также:  File java program writing
Оцените статью