Python. Литералы. Создание (генерирование) объекта некоторого типа. Базовые типы объектов

Литералы. Создание (генерирование) объекта некоторого типа. Базовые типы объектов


Содержание


1. Понятие литерала в Python. Особенности использования литералов. Примеры литералов

В языке программирования Python литерал – это выражение (или константа), которое создает (генерирует) объект. Если в тексте программы встречается литерал, то для этого литерала создается отдельный объект некоторого типа. То есть, система генерирует соответствующий код, который создает объект содержащий значение этого литерала. Созданный объект имеет определенное время существования.

В отличие от других языков программирования (C++, C# и других) в языке Python термин «константа» означает что литералы не являются объектами которые нельзя изменять. Так называемые объекты-константы в Python могут быть изменены.

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

1234
2.71
1+2j
'Hello world!'
[1, 3, [2, 4, 6]]
{ 'Sun', 'Mon', 'Tue', 'Wed' }
set('jklmn')

 

2. Генерирование объекта. Понятие встроенного типа объекта

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

  • целого числа;
  • строки символов;
  • списка;
  • файла;
  • функции;
  • модуля;
  • класса;
  • других элементов языка.

Каждый объект имеет свое собственное поведение. Объекты создаются с помощью инструкций и выражений.

Язык Python содержит набор собственных встроенных типов объектов. При использовании такого типа генерируется объект. Например, при использовании в программе литерала-строки

'Hello world!'

создается (генерируется) объект строчного типа со значением ‘Hello world!’.

 

3. Базовые (встроенные) типы объектов в языке Python

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

Тип объекта

Литерал

Число 12, 2.855, 1+2j
Строка ‘Sunday’, «Monday»
Список [1,2, [3, 4 [5]]], [13, ‘Text’]
Словарь { ‘abc’, ‘abcd’, ‘abd’ }
Кортеж (8, ‘bestprog’)
Файл filename=open(‘myfile.txt’, ‘r’)
Множество set(‘jklmn’), { ‘j’, ‘k’, ‘l’, ‘m’, ‘n’ }
Другие типы None, True, объекты шаблонов и прочее

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

 

4. Существует ли в языке Python конструкция объявления типа для объекта?

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

 

5. Что означает термин «динамическая типизация объекта»?

В Python термин «динамическая типизация объекта» означает, что тип данных объекта определяется автоматически и этот тип не нужно объявлять в программном коде.

 

6. Что в языке Python означает термин «строгая типизация объекта»?

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

 


Связанные темы