Переменные - это не что иное, как зарезервированные ячейки памяти для хранения значений. Это означает, что при создании переменной вы резервируете некоторое пространство в памяти.
На основе типа данных переменной интерпретатор выделяет память и решает, что можно сохранить в зарезервированной памяти. Поэтому, присваивая переменным разные типы данных, вы можете хранить целые числа, десятичные знаки или символы в этих переменных.
Присвоение значений переменным
Переменные Python не требуют явного объявления для резервирования пространства памяти. Объявление присваивается автоматически, когда вы присваиваете значение переменной. Знак равенства (=) используется для присвоения значений переменным.
Операнд слева от оператора = является именем переменной, а операнд справа от оператора = является значением, которое хранится в переменной. Например,
#!/usr/bin/python3 counter = 100 # Целочисленная переменная miles = 1000.0 # Переменная с плафающей точкой name = "John" # Строковая переменная print (counter) print (miles) print (name)
Здесь 100, 1000.0 и «John» являются значениями, присвоенными счетчику, милям и переменной имени, соответственно. Это дает следующий результат:
100 1000.0 John
Множественное присвоение
Python позволяет одновременно назначать одно значение нескольким переменным.
Например,
a = b = c = 1
Здесь создается целочисленный объект со значением 1, и все три переменные назначаются в одну и ту же ячейку памяти. Вы также можете назначить несколько объектов нескольким переменным. Например,
a, b, c = 1, 2, "john"
Переменным a и b присваиваются целочисленные значения 1 и 2 соответсвенно, а переменной c присваивается строка john .
Стандартные типы данных
Данные, хранящиеся в памяти, могут быть разных типов. Например, возраст человека хранится как числовое значение, а его адрес хранится в виде буквенно-цифровых символов. Python имеет различные стандартные типы данных, которые используются для определения возможных операций и методов хранения для каждого из них.
Python имеет пять стандартных типов данных -
- Числа - Numbers
- Строки - String
- Список - List
- Кортеж - Tuple
- Словарь - Dictionary
Числа Python
Числовые типы данных хранят числовые значения. Числовые объекты создаются при назначении им значения. Например,
var1 = 1 var2 = 10
Вы также можете удалить ссылку на числовой объект, используя оператор del. Синтаксис инструкции del -
del var1[,var2[,var3[....,varN]]]]
Вы можете удалить один объект или несколько объектов, используя инструкцию del.
Например,
del var del var_a, var_b
Python поддерживает три разных числовых типа -
- int (целые числа со знаком)
- float (реальные значения с плавающей запятой)
- complex (комплексные числа)
Все целые числа в Python3 представлены как long числа. Следовательно, нет отдельного типа long.
Примеры
int | float | complex |
---|---|---|
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
Строки в Python идентифицируются как непрерывный набор символов, представленных в кавычках. Python позволяет использовать пару одиночных или двойных кавычек. Подмножества строк могут быть взяты с использованием оператора среза ([] и [:]) с индексами, начинающимися с 0 в начале строки и работающими от -1 до конца.
Знак плюс (+) является оператором конкатенации строк, а звездочкой (*) является оператор повторения. Например,
#!/usr/bin/python3 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. Список содержит элементы, разделенные запятыми и заключенные в квадратные скобки ([]). В некоторой степени списки аналогичны массивам в C. Одно из различий между ними состоит в том, что все элементы, принадлежащие списку, могут быть разных типов данных.
Доступ к значениям, хранящимся в списке, можно получить с помощью оператора среза ([] и [:]) с индексами, начинающимися с 0 в начале списка и заканчивающимися -1. Знак плюс (+) - это оператор конкатенации списка, а звездочка (*) - оператор повторения. Например,
#!/usr/bin/python3 list = [ 'abcd', 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) # Вывод результирующего списка
Это приведет к следующему результату -
['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
Кортеж - это другой тип данных последовательности, аналогичный списку. Кортеж состоит из нескольких значений, разделенных запятыми. Однако, в отличие от списков, кортежи заключены в круглые скобки.
Основное различие между списками и кортежами - Списки заключены в скобки ([]), и их элементы и размер могут быть изменены, а кортежи заключены в круглые скобки (()) и не могут быть обновлены. Кортежи можно рассматривать как списки только для чтения. Например,
#!/usr/bin/python3 tuple = ( 'abcd', 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) # Вывод результирующего кортежа
Это приведет к следующему результату -
('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 # запрещено для кортежей list[2] = 1000 # допустимо для списков
Словари Python
Словарь Python - это тип хеш-таблицы. Они работают как ассоциативные массивы или хэши, как в Perl, и состоят из пар ключ-значение. Ключ словаря может быть почти любым типом Python, но обычно это числа или строки. Значения, с другой стороны, могут быть любым произвольным объектом Python.
Словари заключены в фигурные скобки ({}), и значения могут быть получены с помощью квадратных скобок ([]). Например,
#!/usr/bin/python3 dict = {} dict['one'] = "This is one" dict[2] = "This is two" tinydict = {'name': 'john','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 {'name': 'john', 'dept': 'sales', 'code': 6734} dict_keys(['name', 'dept', 'code']) dict_values(['john', 'sales', 6734])
Словари не имеют понятия об упорядочивании среди элементов.
Преобразование типа данных
Иногда вам может потребоваться выполнить преобразования между встроенными типами. Чтобы преобразовать типы, вы просто используете имена типов как функцию.
Существует несколько встроенных функций для преобразования из одного типа данных в другой. Эти функции возвращают новый объект, представляющий преобразованное значение.
S.No. | Функция & Описание |
---|---|
1 | int(x [,base]) Преобразует x в целое число. |
2 | float(x) Преобразует x в число с плавающей запятой. |
3 | complex(real [,imag]) Создает комплексное число. |
4 | str(x) Преобразует объект x в строковое представление. |
5 | repr(x) Преобразует объект x в строковое выражение. |
6 | eval(str) Обрабатывает строку и возвращает объект. Используется для выполнения программного кода представленного сторокой. |
7 | tuple(s) Преобразует s в кортеж. |
8 | list(s) Преобразует s в список. |
9 | set(s) Преобразует s в набор. |
10 | dict(d) Создает словарь. d должен быть последовательностью (ключ, значение) кортежей. |
11 | frozenset(s) Преобразует s в неизменяемый набор. |
12 | chr(x) Преобразует целое число в символ. |
13 | unichr(x) Преобразует целое число в символ Unicode. |
14 | ord(x) Преобразует один символ в его целочисленное значение. |
15 | hex(x) Преобразует целое число в шестнадцатеричную строку. |
16 | oct(x) Преобразует целое число в восьмеричную строку. |