Учебники

Python 3 — Типы переменных

Переменные — это не что иное, как зарезервированные области памяти для хранения значений. Это означает, что когда вы создаете переменную, вы резервируете некоторое пространство в памяти.

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

Присвоение значений переменным

Переменные Python не требуют явного объявления для резервирования места в памяти. Объявление происходит автоматически, когда вы присваиваете значение переменной. Знак равенства (=) используется для присвоения значений переменным.

Операнд слева от оператора = — это имя переменной, а операнд справа от оператора = — это значение, хранящееся в переменной. Например —

Live Demo

#!/usr/bin/python3

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print (counter)
print (miles)
print (name)

Здесь 100, 1000.0 и «Джон» — это значения, присвоенные переменным счетчика, миль и имени соответственно. Это дает следующий результат —

100
1000.0
John

Множественное назначение

Python позволяет назначать одно значение нескольким переменным одновременно.

Например —

a = b = c = 1

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

a, b, c = 1, 2, "john"

Здесь два целочисленных объекта со значениями 1 и 2 назначены переменным a и b соответственно, а один строковый объект со значением «john» назначен переменной c.

Стандартные типы данных

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

Python имеет пять стандартных типов данных —

  • чисел
  • строка
  • Список
  • Кортеж
  • толковый словарь

Номера Python

Числовые типы данных хранят числовые значения. Числовые объекты создаются при назначении им значения. Например —

var1 = 1
var2 = 10

Вы также можете удалить ссылку на числовой объект с помощью оператора del . Синтаксис оператора del

del var1[,var2[,var3[....,varN]]]]

Вы можете удалить один объект или несколько объектов с помощью оператора del .

Например —

del var
del var_a, var_b

Python поддерживает три различных числовых типа —

  • int (целые числа со знаком)
  • float (реальные значения с плавающей точкой)
  • комплекс (комплексные числа)

Все целые числа в Python3 представлены как длинные целые числа. Следовательно, не существует отдельного типа чисел, как долго.

Примеры

Вот несколько примеров чисел —

ИНТ поплавок сложный
10 0.0 3.14j
100 15,20 45.j
-786 -21,9 9.322e-36j
080 32,3 + e18 .876j
-0490 -90. -.6545 + 0J
-0x260 -32.54e100 3e + 26J
0x69 70,2-E12 4.53e-7j

Комплексное число состоит из упорядоченной пары вещественных чисел с плавающей точкой, обозначаемых x + yj, где x и y — действительные числа, а j — мнимая единица.

Python Strings

Строки в Python идентифицируются как непрерывный набор символов, представленных в кавычках. Python допускает пару одинарных или двойных кавычек. Подмножества строк могут быть получены с использованием оператора среза ([] и [:]) с индексами, начинающимися с 0 в начале строки и проходящими от -1 до конца.

Знак плюс (+) — это оператор объединения строк, а звездочка (*) — оператор повторения. Например —

Live Demo

#!/usr/bin/python3

str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

Это даст следующий результат —

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Списки Python

Списки являются наиболее универсальными из составных типов данных Python. Список содержит элементы, разделенные запятыми и заключенные в квадратные скобки ([]). В некоторой степени списки похожи на массивы в C. Одно из различий между ними состоит в том, что все элементы, принадлежащие списку, могут иметь разные типы данных.

Доступ к значениям, хранящимся в списке, можно получить с помощью оператора слайса ([] и [:]), индексы которого начинаются с 0 в начале списка и заканчиваются -1. Знак плюс (+) является оператором объединения списков, а звездочка (*) — оператором повторения. Например —

Live Demo

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Prints complete list
print (list[0])       # Prints first element of the list
print (list[1:3])     # Prints elements starting from 2nd till 3rd 
print (list[2:])      # Prints elements starting from 3rd element
print (tinylist * 2)  # Prints list two times
print (list + tinylist) # Prints concatenated lists

Это дает следующий результат —

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

Python Tuples

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

Основное различие между списками и кортежами состоит в том, что списки заключены в квадратные скобки ([]), и их элементы и размер могут быть изменены, а кортежи заключены в круглые скобки (()) и не могут быть обновлены. Кортежи можно рассматривать как списки только для чтения . Например —

Live Demo

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Prints complete tuple
print (tuple[0])        # Prints first element of the tuple
print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print (tuple[2:])       # Prints elements starting from 3rd element
print (tinytuple * 2)   # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple

Это дает следующий результат —

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

Следующий код недопустим с кортежем, потому что мы попытались обновить кортеж, что недопустимо. Подобный случай возможен со списками —

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

Словарь Python

Словари Python являются разновидностью хеш-таблиц. Они работают как ассоциативные массивы или хэши, найденные в Perl, и состоят из пар ключ-значение. Ключ словаря может быть практически любого типа Python, но обычно это числа или строки. Значения, с другой стороны, могут быть любым произвольным объектом Python.

Словари заключены в фигурные скобки ({}), а значения могут быть назначены и доступны с помощью квадратных скобок ([]). Например —

Live Demo

#!/usr/bin/python3

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

Это дает следующий результат —

This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])

Словари не имеют понятия порядка среди элементов. Неверно говорить, что элементы «вышли из строя»; они просто неупорядочены.

Преобразование типов данных

Иногда вам может потребоваться выполнить преобразования между встроенными типами. Для преобразования между типами вы просто используете имена типов в качестве функции.

Есть несколько встроенных функций для выполнения преобразования из одного типа данных в другой. Эти функции возвращают новый объект, представляющий преобразованное значение.

int (x [, base])

Преобразует х в целое число. База определяет базу, если x является строкой.

Поплавок (х)

Преобразует x в число с плавающей точкой.

сложный (настоящий [, imag])

Создает комплексное число.

ул (х)

Преобразует объект x в строковое представление.

магнезии (х)

Преобразует объект x в строку выражения.

Eval (ул)

Оценивает строку и возвращает объект.

набор (ы)

Преобразует s в кортеж.

(ена)

Преобразует s в список.

набор (ы)

Преобразует s в набор.

ДИКТ (д)

Создает словарь. d должен быть последовательностью (ключ, значение) кортежей.

frozenset (ы)

Преобразует s в замороженный набор.

CHR (х)

Преобразует целое число в символ.

unichr (х)

Преобразует целое число в символ Unicode.

Ord (х)

Преобразует один символ в его целочисленное значение.

гекс (х)

Преобразует целое число в шестнадцатеричную строку.

Октябрь (х)

Преобразует целое число в восьмеричную строку.