Переменные в Python:
Переменная в языке программирования это название для зарезервированного места в памяти компьютера, предназначенное для хранения значений. Это означает, что когда вы создаете переменную, вы на самом деле резервируете определенное место в памяти компьютера.
Основываясь на типе данных переменной, интерпретатор выделяет необходимое количество памяти и решает, что может находится в зарезервированной области памяти.
Для понимания, можете думать о переменной как о коробке, в которую можно положить любую вещь, но только определенного размера. Размер в данном примере будет типом переменной. Это не совсем верное определение, но оно дает общее представление о картине в целом.
Присвоение значения переменной:
В Python вам не нужно объявлять тип переменной вручную (как, например в С++). Объявление происходит автоматически (это называется динамическая типизация), когда вы присваиваете значение переменной. Знак равенства ( = ) используется для присвоения значения переменной.
Операнд по левую сторону от знака равно ( = ) это имя переменной, операнд по правую сторону - значение присвоенное этой переменной.
Например:
country = "Swiss" # Присвоить значение Swiss переменной под названием country
age = 23 # Присвоение значения 23 переменной age
print country
print age
При выполнении, данный код выведет:
Swiss
23
Множественное присвоение значений:
В Python возможно присваивать одно значение нескольким переменным сразу. Например:
a = b = c = 1
В данном создается объект со значением 1, и все 3 переменные указывают на область в памяти, в которой он находится.
Встроенные типы данных в Python:
Информация, сохраненная в памяти может быть разных типов данных. Например, возраст человека может быть числовым значением, а его адрес - буквенно-числовым. В Python существует множество стандартных типов данных, которые используются для хранения определенных значений и обладают своими специфическими методами.
К стандартным типам данных в Python относят:
Числовой тип данных в Python:
Числовой тип данных в Python предназначен для хранения числовых значений. Это неизменяемый тип данных, что означает, что изменение значения числового типа данных приведет к созданию нового объекта в памяти (и удалению старого)
Числовые объекты создаются, когда вы присваиваете им значение. Например:
num1 = 23
num2 = 42
Также вы можете удалять числовой объект при помощи ключевого слова del. Синтаксис команды del следующий:
del num1 # удаляет переменную num1
del num2, num3 # удаляет обе переменные num2 за num3 за раз
В Python есть четыре вида числового типа данных:
- int (целое число)
- long (длинное целое число [может быть представлено в восьмеричной или шестнадцатеричной системе исчисления])
- float (число с плавающей точкой: -0.2, 0.0, 3.14159265 и т.д.)
- complex (комплексное число)
Примеры видов числового типа данных:
intlongfloatcomplex151924361L0.03.14j102-0x19323L15.2045.j-7860122L-21.99.322e-36j00xDEFABCECBDAECBFBAEl32.3+e18.876j0b10535633629843L-90.-.6545+0J-0x260-052318172735L-32.54e1003e+26J0x69-4721885298529L70.2-E124.53e-7j
Строки в Python:
Под строками в Python подразумевается набор символов между кавычками. В Python можно использовать пары одинарных либо двойных кавычек. Из строк можно взять подстроку используя оператор нарезки ( [ ] и [ : ] ) с индексами от нуля для первого символа строки и до последнего. Так же можно использовать обратную индексацию от -1 для последнего символа до начала.
Оператор плюс ( + ) для строк соединяет две строки в одну, звездочка ( * ) оператор повторения. Например:
text = "Hello, Python!"
print text[0] # Выводит первый символ
print text[0:5] # Выводит подстроку text от 0 символа до 5 (включительно с нулевым, исключая пятый)
print text[4:10] # Выведет строку от 4 символа до 10 (включая четвертый, исключая 10)
print text[0:14] # Выведет всю строку
print text[7:] # Выведет строку с 7 символа до конца
print text[:5] # Выведет строку с начала до 5 символа. Аналогично print text[0:5]
print text[:] # Выведет всю строку
print text[-1] # Выводит последний символ
print text[-1:-14] # Не сработает, выведет пустую строку
print text[::2] # Третий аргумент - шаг. Выведет каждый второй символ
print text[::-1] # Шаг отрицательный. Выведет фразу наоборот
print text + "Nice to code you" # Выведет новую строку
print text[-1] * 10 # Выведет 10 восклицательных знаков
В результате вы увидите следующее
Списки в Python:
Списки, пожалуй, самый универсальный составной тип данных в Python. Список состоит из элементов, разделенных запятыми, находящихся между квадратными скобками ( [ ] ). В определенной мере, списки подобны массивам в C. Единственной разницей является то, что элементы одного списка могут иметь разные типы данных.
Получить доступ к элементам, сохраненным в списке можно, точно так же, как и в строках, при помощи оператора нарезки ( [ ] и [:] ) и индексов, начиная с нуля и до конца. Знак плюс ( + ) объединяет два списка, а звездочка ( * ) - оператор повторения для списка. Например:
my_list =[True, 786, 3.14, 'text', 70.2]
second_list =[123, 'text']
print my_list # Напечатает весь список
print my_list[0] # Напечатает первый элемент списка
print my_list[1:3] # Напечатает элементы списка со второго по третий
print my_list[2:] # Напечатает элементы списка начиная с третьего
print second_list *2 # Напечатает удвоенный список
print my_list + second_list # Напечатает объединенные списки
В результате вы увидите:
[True, 786, 3.14, 'text', 70.2]
True
[786, 3.14]
[3.14, 'text', 70.2]
[123, 'text', 123, 'text']
[True, 786, 3.14, 'text', 70.2, 123, 'text']
Кортежи в Python:
Кортеж это еще один составной тип данных, похожий на список. Кортеж состоит из ряда значений, разделенных запятыми, заключенными в круглые скобки ( ( ) ). Основным различием между списками и кортежами является то, что элементы кортежей не могут быть изменены. То есть, кортежи можно рассматривать как списки доступные только для чтения.
Если у вас нет необходимости изменять элементы списка, то для экономии места в памяти лучше использовать тип данных кортеж.
my_tuple =(True, 786, 3.14, 'text', 70.2)
second_tuple =(123, 'text')
print my_tuple # Печатает весь кортеж
print my_tuple[0] # Печатает первый элемент
print second_tuple *2 # Печатает удвоенный кортеж
print my_tuple + second_tuple # Печатает объединенные кортежи
В результате вы получите:
(True, 786, 3.14, 'text', 70.2)
True
(123, 'text', 123, 'text')
(True, 786, 3.14, 'text', 70.2, 123, 'text')
При этом, следующие действия доступны для списков и недоступны для кортежей:
my_list = ["Rome", 23, ["cat","dog"], True, 3.14]
my_tuple = ("Rome", 23, ["cat","dog"], True, 3.14)
my_list[0] = "Paris" # Замена значения первого элемента сработает для списка
my_tuple[0] = "Paris" # Та же операция для кортежа вызовет ошибку
Словари в Python:
Словари в Python это неотсортированная колекция элементов, доступ к которым осуществляется по ключу. То есть, каждому ключу словаря соответствует определенное значение. Ключом может быть любой неизменяемый тип данных (число, строка, кортеж), значением - любой тип данных.
Пары ключ, значение словаря заключаются в фигурные скобки ( { } ). Есть несколько способов создания словарей:
my_dict = { } # Создаем пустой словарь
my_dict["country"] = "Mexico" # Присваиваем ключу country значение Mexico
print my_dict["country"] # Выведет Mexico
# Заполнение словаря при инициализации
another_dict = {"number":23, 2: True, "my_list":[1,2,3]}
print another_dict.keys() # Напечатает список всех ключей
print another_dict.values() # Напечатает список всех значений
Данный код выведет следующее:
Обратите внимание, что ключи и значения выводятся не в том порядке, в котором мы их задавали.
Сеты в Python:
Сет в Python это еще один изменяемый, коллекционный тип данных, отличительной чертой которого является то, что он хранит только уникальные значания.
Создать сеты можно следующими способами:
# Создание пустого сета
s = set()
# Создание сета инициализацией
s = {"hi", "bye"}
Для добавление элемента в сет используется метод add, для удаления - pop или remove. Добавление в сет уже существующего элемента не повлияет на сет. Сеты обладают множеством методов для работы с уникальными элементами, например difference - возвращает элементы сета отсутствующие в другом сете, intersection - наоборот, возвращает елементы сета присутствующие в другом сете.
Преобразование типов данных:
Иногда может возникнуть необходимость преобразовать один тип данных в другой. Для этого существуют специальные встроенные функции Python. Вот некоторые из них:
ФункцияОписание
int(x [,base])
Преобразовывает х в целое число. Например, int(12.4) -> 12
long(x [,base] )
Преобразовывает х в long. Например, long(20) -> 20L
float(x)
Преобразовывает х в число с плавающей точкой. Например float(10) -> 10.0
complex(real [,imag])
Создает комплексное число. Например complex(20) -> (20+0j)
str(x)
Преобразовывает х в строку. Например str(10) -> '10'
tuple(s)
Преобразовывает s в кортеж. Например tuple("hello") -> ( "h","e","l","l","o" )
list(s)
Преобразовывает s в список. Например list("Python") -> [ "P","y","t","h","o","n" ]
dict(d)
Создает словарь из d. Например dict( [ (1,2), (3,4) ] ) -> { 1:2, 3:4 }