Что такое литералы в python
Перейти к содержимому

Что такое литералы в python

  • автор:

Строковые и байтовые литералы в Python

Как строковые, так и байтовые литералы могут быть заключены в соответствующие одинарные кавычки ( ‘ ) или двойные кавычки ( » ). Они также могут быть заключены в соответствующие группы из трех одинарных или двойных кавычек ( »’ ) или ( «»» ), они обычно называются строки в тройных кавычках.

Символ обратной косой черты ( \ ) используется для экранирования символов, которые имеют особое значение, такие как например новая строка \n .

Байтовые литералы всегда начинаются с префикса ‘b’ или ‘B’ , они производят экземпляр bytes тип вместо str типа. Они могут содержать только символы ASCII. Байты с числовым значением 128 или более должны быть выражены с помощью экранирования \ .

Как строковые, так и байтовые литералы могут дополнительно иметь префикс в виде буквы ‘r’ или ‘R’ . Такие строки называются необработанными (сырыми) строками и обрабатывают обратную косую черту как символ литерала. В результате, в сырых строках, экранирование символов Юникода ‘\U’ и ‘\u’ специально ни как не обрабатываются и учитывая, что необработанные литералы Unicode в Python-2.x ведут себя иначе, чем в Python-3.x, синтаксис ‘ur’ не поддерживается.

  • ‘rb’ префикс сырых байтов литералов был добавлен как синоним ‘br’ .
  • Поддержка устаревшего литерала Юникода ( u’value’ ) была вновь введена для упрощения обслуживания двух кодовых баз Python-2.x и Python-3.x.

Строковый литерал с префиксом ‘f’ или ‘F’ является форматированным строковым литералом. Префикс ‘f’ может быть объединен с префиксом ‘r’ , но не может быть объединен с префиксом ‘b’ или ‘u’ .

В тройных кавычках допускаются и сохраняются escape-последовательность новой строки \n и кавычки, за исключением того, что три неэкранированные кавычки в строке завершают литерал. «Кавычка» — это символ, используемый для открытия литерала, т. е. либо ‘ или » .

>>> """"Открывать" строку 4 кавычки могут""" # '"Открывать" строку 4 кавычки могут' >>> """А вот закрывать строку подряд "4 кавычки не могут"""" # File "", line 1 # """А вот закрывать строку подряд "4 кавычки не могут"""" # ^ # SyntaxError: EOL while scanning string literal >>> """В этом случае кавычки нужно экранировать \"обратным слешем\"""" # 'В этом случае кавычки нужно экранировать "обратным слешем"' 

Если префикс ‘r’ или ‘R’ отсутствует, [escape-последовательности][escape-sequence] в строковых и байтовых литералах интерпретируются в соответствии с правилами, аналогичными тем, которые используются стандартом языка C .

В сырой строке кавычки можно экранировать с помощью обратной косой черты, но в результате обратная косая черта останется. Например, строковый литерал r»\»» , состоящий из двух символов — обратной косой черты и двойной кавычки будет интерпретироваться в ‘\\»‘ . В сырых строках необработанный литерал не может заканчиваться одним обратным слешем, так как обратный слеш будет экранировать следующий символ кавычки. Также обратите внимание, что escape-последовательность новой строки \n , интерпретируется как \\n , а не как новая строка.

Пример особенностей сырых строк:
# Необработанные (сырые) строки >>> r"пробуем экранировать \" кавычку" # 'пробуем экранировать \\" кавычку' >>> print(r"пробуем экранировать \" кавычку") # пробуем экранировать \" кавычку >>> r"escape-последовательность новой \nстроки не работает" 'escape-последовательность новой \\nстроки не работает' >>> print(r"escape-последовательность новой \nстроки не работает") # escape-последовательность новой \nстроки не работает # Простые строки >>> "пробуем экранировать \" кавычку" # 'пробуем экранировать " кавычку' >>> print("пробуем экранировать \" кавычку") # пробуем экранировать " кавычку >>> "escape-последовательность новой \nстроки работает как положено" 'escape-последовательность новой \nстроки работает как положено' >>> print("escape-последовательность новой \nстроки работает как положено") # escape-последовательность новой # строки работает как положено 
  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • ESCAPE последовательности
  • Объединение строковых литералов

Что такое литералы в Python?

Литерал — это краткий и легко видимый способ написать значение. Литералы представляют собой возможные варианты примитивных типов для этого языка. Некоторые из вариантов типов литералов часто являются целыми числами, плавающей точкой, булевыми и символьными строками. Python поддерживает следующие литералы:

  1. String literals :: «halo» , ‘12345’
  2. Int literals :: 0,1,2,-1,-2
  3. Long literals :: 89675L
  4. Float literals :: 3.14
  5. Complex literals :: 12j
  6. Boolean literals :: True or False
  7. Special literals :: None
  8. Unicode literals :: u»hello»
  9. List literals :: [], [5,6,7]
  10. Tuple literals :: (), (9,),(8,9,0)
  11. Dict literals :: <>,
  12. Set literals ::

(Пока оценок нет)

Похожие новости

Вопросы по Python — 1

Вопросы по Python — 1

Как создать копию объекта в Python?

Как создать копию объекта в Python?

Как определить тип экземпляра и наследование в Python

Как определить тип экземпляра и наследование в Python
  • Книги по 1С
  • Книги по Assembler
  • Книги по Android
  • Книги по C#
  • Книги по C++
  • Книги по CSS
  • Книги по Delphi
  • Книги по HTML
  • Книги по JavaScript
  • Книги по Java
  • Книги по MySql
  • Книги по Php
  • Книги по Python
  • Книги по Pascal

Django Fan

. в книге под термином литерал подразумевается выражение, создающее объект, который иногда также называется константой. Следует иметь в виду, что термин «константа» не означает объекты и переменные, которые никогда не изменяются.

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

Получается к примеру: 4+5 = 9 -это выражение создающее объект а именно 9 ? Но литералом может быть и строка, тогда как создается здесь литерал, конкатенацией?? Дальше хуже, к спискам я вообще не понимаю тогда как.

Это определение выше одно из первых с которым я столкнулся, потом читал дальше и еще один пример: В таблице 5.1 показано, как выглядят числа различных типов в языке Python в тексте программы(то есть в виде литералов) и там идут целые числа, вещественные и т.д. но если это все должно быть результатом выражения, то почему в таблице это просто 9999999999, 1234, или же 1.23.

Ответ

Это одна из базовых концепций, но именно поэтому ее непросто объяснить «в сферической форме в вакууме». Я тоже помню, как не сразу понял что это означает. Взялся было отвечать читателю в почте, но когда увидел, что текст получился довольно объемный, решил запостить его в блоге, может еще кому-то пригодится.

Если простыми словами, то литерал в Python – это простейший способ создания объектов. Например:

1 # числовой литерал
"I'am a string" # строковый литерал
[1, 2, 4, 6] # литерал списка
 # литерал словаря

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

a = 1

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

Далее, по письму:

. под термином литерал подразумевается выражение, создающее объект.

Не верно. В Python выражение и литерал – две большие разницы, как говорят в Одессе. Литерал – это форма записи (см. примеры выше).

Получается к примеру: 4+5 = 9 -это выражение создающее объект а именно 9…

То же самое, 4 + 5 – это выражение, не литерал.

Таким образом, чтобы как-то называть общим названием такие простейшие записи, как 4.5 , ‘my string’ , [1, ‘abc’, 45] , применяют слово литерал.

В большинстве случаев смысл этого термина не играет большой роли для понимания сути, часто его можно просто игнорировать. Возможно, он ближе к области лингвистики. Например, нужно понимать разницу, когда кто-то скажет: «А давайте-ка создадим этот словарь не с помощью литерала, а с помощью builtin«. Разница будет выглядеть так:

mydict = dict(a=1, b=2, c=3)
mydict =

В первом случае мы создаем словарь с помощью встроенной функции dict(), а во втором – с помощью литерала словаря.

Как сказал кто-то из великих (автор цитаты — Н. И. Лобачевский, спасибо, подсказали в комментариях), что сама

. Математика – не наука, а язык для выражения научных идей.

Так что, да – к терминам надо относиться с уважением.

И спасибо посетителю за вопрос!

Литералы в Python – все известные типы

Литералы Python можно определить как данные, заданные в переменной или константе.

Python поддерживает несколько типов литералов.

Строковые

Строковые литералы можно сформировать, заключив текст в кавычки. Мы можем использовать как одинарные, так и двойные кавычки для создания строки.

"Aman" , '12345'

В Python поддерживаются два типа строк:

a) Однострочные строки. Строки, которые заканчиваются одной строкой, называются однострочными строками.

text1='hello'

б) Многострочная строка. Фрагмент текста, состоящий из нескольких строк, известен как многострочная строка.

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

1) Добавление черной косой черты в конце каждой строки.

text1='hello\ user' print(text1)
'hellouser'

2) Использование тройных кавычек.

str2='''welcome to SSSIT''' print str2
welcome to SSSIT

Числовые литералы

Числовые литералы неизменяемы. Числовые литералы могут принадлежать к следующим четырем различным числовым типам.

Int(числа с целым знаком) Long(длинные целые числа) float(с плавающей запятой) Complex(сложные)
Числа(могут быть как положительными, так и отрицательными) без дробной части, например: 100 Целые числа неограниченного размера, за которыми следует строчная или прописная буква L, например: 87032845L Действительные числа с целой и дробной частью, например: -26,2 В форме a + bj, где a – действительная часть, а b – мнимая часть комплексного числа. например: 3.14j

Пример числовых литералов:

x = 0b10100 #Binary Literals y = 100 #Decimal Literal z = 0o215 #Octal Literal u = 0x12d #Hexadecimal Literal #Float Literal float_1 = 100.5 float_2 = 1.5e2 #Complex Literal a = 5+3.14j print(x, y, z, u) print(float_1, float_2) print(a, a.imag, a.real)
20 100 141 301 100.5 150.0(5+3.14j) 3.14 5.0

Логические литералы

Логический литерал может иметь любое из двух значений: True или False.

Пример логических литералов:

x =(1 == True) y =(2 == False) z =(3 == True) a = True + 10 b = False + 10 print("x is", x) print("y is", y) print("z is", z) print("a:", a) print("b:", b)
x is True y is False z is False a: 11 b: 10

Специальные литералы

Python содержит один специальный литерал – None.

None используется для указания того поля, которое не создается. Он также используется для конца списков в Python.

Пример специального литерала:

val1=10 val2=None print(val1) print(val2)
10 None

Литеральные коллекции

Python предоставляет четыре типа коллекции литералов, такие как литералы List, литералы Tuple, литералы Dict и литералы Set.

  • Список содержит элементы с разными типами данных. Списки изменяемы.
  • Значения, хранящиеся в List, разделяются запятой(,) и заключаются в квадратные скобки([]). Мы можем хранить различные типы данных в списке.

Пример списка литералов:

list=['John',678,20.4,'Peter'] list1=[456,'Andrew'] print(list) print(list + list1)
['John', 678, 20.4, 'Peter'] ['John', 678, 20.4, 'Peter', 456, 'Andrew']
  • Словарь Python хранит данные в паре ключ-значение.
  • Он заключен в фигурные скобки <>, а каждая пара отделяется запятыми(,).
dict = print(dict)
  • Кортеж Python – это набор данных разных типов. Он неизменяемый, что означает, что его нельзя изменить после создания.
  • Он заключен в круглые скобки(), а каждый элемент отделяется запятой(,).
tup =(10,20,"Dev",[2,3,4]) print(tup)
(10, 20, 'Dev', [2, 3, 4])
  • Набор Python – это набор неупорядоченного набора данных.
  • Он заключен в <>, и каждый элемент отделяется запятой(,).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *