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

Переменные — это значения, хранящиеся в памяти; это означает, что при создании переменной в памяти выделяется место.

В зависимости от типа данных переменной интерпретатор выделяет определённый объём памяти и решает, какие данные могут храниться в этой памяти.

Следовательно, переменные могут иметь разные типы данных, и эти переменные могут хранить целые числа, десятичные дроби или символы.



Присваивание переменных

Присваивание переменных в Python не требует объявления типа.

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

Каждой переменной должно быть присвоено значение перед её использованием; переменная создаётся только после присваивания.

Знак равенства=используется для присваивания значения переменной.

Знак равенства=Левая часть оператора — это имя переменной, а знак равенства=Правая часть оператора — это значение, хранящееся в переменной. Например:

Пример (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # Присваивание целочисленной переменной miles = 1000.0 # Число с плавающей точкой name = "John" # Строка print counter print miles print name

Запустить пример »

В приведённом выше примере 100, 1000.0 и "John" присваиваются переменным counter, miles и name соответственно.

При выполнении вышеприведённой программы будет выведен следующий результат:

100
1000.0
John


Присваивание нескольких переменных

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

a = b = c = 1

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

Вы также можете присвоить несколько переменных нескольким объектам. Например:

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

В приведенном выше примере два целочисленных объекта 1 и 2 присваиваются переменным a и b соответственно, а строковый объект "john" присваивается переменной c.



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

Данные, хранящиеся в памяти, могут быть разных типов.

Например, возраст человека можно хранить как число, а его или её имя — как символы.

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

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

  • Цифры
  • String
  • Список
  • Tuple
  • Словарь


Числа в Python

Числовой тип данных используется для хранения числовых значений.

Они являются неизменяемым типом данных, что означает, что изменение числового типа данных приведет к выделению нового объекта.

Когда вы указываете значение, создается объект Number:

var1 = 1
var2 = 10

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

Синтаксис оператора del:

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

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

del var
del var_a, var_b

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

  • int (целое со знаком)
  • long (длинное целое, которое также может представлять восьмеричные и шестнадцатеричные числа)
  • float (число с плавающей точкой)
  • complex (комплексное число)
Пример

Некоторые примеры числовых типов:

intlongfloatсложная
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3e+18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2E-124.53e-7j
  • Длинные целые также могут использовать строчную l, но всё же рекомендуется использовать прописную L, чтобы избежать путаницы с числом 1. Python использует L для отображения длинных целых чисел.
  • Python также поддерживает комплексные числа, которые состоят из действительной и мнимой частей. Их можно представить как a + bj или complex(a,b). И действительная часть a, и мнимая часть b комплексного числа являются числами с плавающей точкой.

Примечание:Тип long существует только в Python 2.X. В версиях после 2.2 данные типа int автоматически преобразуются в long при переполнении. В Python 3.X тип long был удалён и заменён на int.



Строки в Python

Строка (String) — это последовательность символов, состоящая из цифр, букв и знаков подчёркивания.

Обычно записывается как:

s = "a1a2···an"   # n>=0

Это тип данных, используемый для представления текста в языках программирования.

Список строк Python имеет два порядка индексации:

  • Индексация слева направо по умолчанию начинается с 0, а максимальный диапазон — это длина строки минус 1.
  • Индексация справа налево по умолчанию начинается с -1, а максимальный диапазон — это начало строки.

Если вы хотите извлечь подстроку из строки, вы можете использовать[head index:tail index]для среза соответствующей строки, где индекс начинается с 0 и может быть положительным или отрицательным. Пустой индекс означает, что он достигает начала или конца.

[head index:tail index]Извлечённая подстрока включает символ по начальному индексу, но не включает символ по конечному индексу.

Например:

>>> s = 'abcdef'
>>> s[1:5]
'bcde'

При использовании разделённой двоеточием строки Python возвращает новый объект. Результат содержит непрерывный диапазон, определяемый этой парой смещений; левая начальная точка включает нижнюю границу.

Приведённый выше результат включаетs[1]значение b, а максимальный полученный диапазон не включаетконечный индекс, то естьs[5]значение f.

Знак плюс (+) — это оператор конкатенации строк, а звёздочка (*) — операция повторения. См. пример ниже:

Пример (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- str = 'Hello World!' print str # Вывести всю строку print str[0] # Вывести первый символ строки print str[2:5] # Вывести строку с третьего по шестой символ print str[2:] # Вывести строку, начиная с третьего символа print str * 2 # Вывести строку дважды print str + "TEST" # Вывести объединённую строку

Приведённый выше пример выдаёт следующий вывод:

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


Списки Python

Список — наиболее часто используемый тип данных в Python.

Список может реализовать большинство структур данных, подобных коллекциям. Он поддерживает символы, числа, строки и даже может содержать списки (то есть вложенность).

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

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

Знак плюс+— это оператор конкатенации списков, а звёздочка*— операция повторения. См. пример ниже:

Пример (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- list = [ 'example', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print list # Вывести полный список print list[0] # Вывести первый элемент списка print list[1:3] # Вывести элементы со второго по третий print list[2:] # Вывести все элементы с третьего до конца списка print tinylist * 2 # Вывести список дважды print list + tinylist # Вывести объединённый список

Приведённый выше пример выдаёт следующий вывод:

['example', 786, 2.23, 'john', 70.2]
example
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['example', 786, 2.23, 'john', 70.2, 123, 'john']

Срезы списков в Python могут принимать третий параметр, который задаёт размер шага для среза. В следующем примере строка срезается с индекса 1 по индекс 4 с шагом 2 (пропуская одну позицию):



Кортежи в Python

Кортежи — это ещё один тип данных, похожий на список.

Кортежи обозначаются с помощью(). Внутренние элементы разделяются запятыми. Однако кортеж нельзя присвоить повторно; он эквивалентен списку только для чтения.

Пример (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tuple = ( 'example', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # Вывести весь кортеж print tuple[0] # Вывести первый элемент кортежа print tuple[1:3] # Вывести элементы со второго по четвёртый (не включая четвёртый) print tuple[2:] # Вывести все элементы с третьего до конца списка print tinytuple * 2 # Вывести кортеж дважды print tuple + tinytuple # Вывести объединённый кортеж

Приведённый выше пример выдаёт следующий вывод:

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

Следующие операции над кортежами недопустимы, так как кортежи не допускают изменений, а списки допускают изменения:

Пример (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tuple = ( 'example', 786 , 2.23, 'john', 70.2 ) list = [ 'example', 786 , 2.23, 'john', 70.2 ] tuple[2] = 1000 # Недопустимая операция в кортеже list[2] = 1000 # Допустимая операция в списке

Кортежи не допускают изменений, поэтому приведённый выше код вызовет ошибку. Результат будет следующим:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    tuple[2] = 1000    # 元组中是非法应用
TypeError: 'tuple' object does not support item assignment


Словарь Python

Словарь — это самый гибкий встроенный тип структуры данных в Python, помимо списков. Списки — это упорядоченные коллекции объектов, тогда как словари — неупорядоченные коллекции объектов.

Разница между ними заключается в том, что доступ к элементам словаря осуществляется по ключу, а не по смещению.

Словари обозначаются с помощью "{ }". Словарь состоит из индексов (ключей) и соответствующих им значений.

Пример (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- dict = {} dict['one'] = "Это один" dict[2] = "Это два" tinydict = {'name': 'example','code':6734, 'dept': 'sales'} print dict['one'] # Вывести значение для ключа 'one' print dict[2] # Вывести значение для ключа 2 print tinydict # Вывести весь словарь print tinydict.keys() # Вывести все ключи print tinydict.values() # Вывести все значения

Результат вывода:

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'example'}
['dept', 'code', 'name']
['sales', 6734, 'example']


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

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

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

ФункцияОписание

int(x [,base])

Преобразовать x в целое число.

long(x [,base] )

Преобразовать x в длинное целое число.

float(x)

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

complex(real [,imag])

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

str(x)

Преобразовать объект x в строку.

repr(x)

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

eval(str)

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

tuple(s)

Преобразовать последовательность s в кортеж.

list(s)

Преобразовать последовательность s в список.

set(s)

Преобразовать в изменяемое множество.

dict(d)

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

frozenset(s)

Преобразовать в неизменяемое множество.

chr(x)

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

unichr(x)

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

ord(x)

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

hex(x)

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

oct(x)

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

Другие расширения