Учебники

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

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

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

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

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

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

Live Demo

#!/usr/bin/python

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 (целые числа со знаком)
  • long (длинные целые числа, они также могут быть представлены в восьмеричном и шестнадцатеричном виде)
  • float (реальные значения с плавающей точкой)
  • комплекс (комплексные числа)

Примеры

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

ИНТ долго поплавок сложный
10 51924361L 0.0 3.14j
100 -0x19323L 15,20 45.j
-786 0122L -21,9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32,3 + e18 .876j
-0490 535633629843L -90. -.6545 + 0J
-0x260 -052318172735L -32.54e100 3e + 26J
0x69 -4721885298529L 70,2-E12 4.53e-7j
  • Python позволяет использовать строчные буквы l с длинными, но рекомендуется использовать только заглавные буквы L, чтобы избежать путаницы с числом 1. Python отображает длинные целые числа с заглавными буквами L.

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

Python позволяет использовать строчные буквы l с длинными, но рекомендуется использовать только заглавные буквы L, чтобы избежать путаницы с числом 1. Python отображает длинные целые числа с заглавными буквами L.

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

Python Strings

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

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

Live Demo

#!/usr/bin/python

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. Знак плюс (+) является оператором объединения списков, а звездочка (*) — оператором повторения. Например —

#!/usr/bin/python

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.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

Python Tuples

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

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

Live Demo

#!/usr/bin/python

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

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

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

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

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

#!/usr/bin/python

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/python

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
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

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

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

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

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

int (x [, base])

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

длинный (x [, base])

Преобразует x в длинное целое. base указывает базу, если x является строкой.

Поплавок (х)

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

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

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

ул (х)

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

магнезии (х)

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

Eval (ул)

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

набор (ы)

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

(ена)

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

набор (ы)

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

ДИКТ (д)

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

frozenset (ы)

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

CHR (х)

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

unichr (х)

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

Ord (х)

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

гекс (х)

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

Октябрь (х)

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