Основы Python
В чем разница между списком и кортежем?
Основные различия между списком и кортежем в Python:
-
Изменяемость:
-
Список (
list): изменяемый (можно добавлять, удалять или изменять элементы). -
Кортеж (
tuple): неизменяемый (после создания элементы изменить нельзя).
-
-
Синтаксис:
-
Список: создается с помощью квадратных скобок
[].my_list = [1, 2, 3] -
Кортеж: создается с помощью круглых скобок
().my_tuple = (1, 2, 3)
-
-
Производительность:
- Кортеж: обычно имеет немного более высокую производительность из-за неизменяемости.
-
Использование:
-
Список: используется, когда нужно часто изменять содержимое.
-
Кортеж: используется для хранения неизменяемых данных или когда нужно гарантировать, что данные не будут изменены.
-
В чем разница между “is” и “==”?
Основные различия между операторами is и == в Python:
-
Сравнение объектов:
-
is: проверяет, ссылаются ли две переменные на один и тот же объект в памяти (т.е. проверяет идентичность объектов).a = [1, 2, 3] b = a print(a is b) # True -
==: проверяет, равны ли значения двух объектов (т.е. проверяет равенство значений).a = [1, 2, 3] b = [1, 2, 3] print(a == b) # True print(a is b) # False
-
Переменные в Python передаются по ссылке или по значению?
При вызове функции параметры связываются с переданными объектами. Автоматического копирования нет ни для изменяемых, ни для неизменяемых объектов. Изменение переданного списка видно снаружи, а присваивание параметру нового объекта меняет только локальную привязку имени.
Примеры:
-
Изменяемые объекты:
def modify_list(lst): lst.append(4) my_list = [1, 2, 3] modify_list(my_list) print(my_list) # [1, 2, 3, 4] -
Неизменяемые объекты:
def modify_number(n): n += 1 my_number = 10 modify_number(my_number) print(my_number) # 10
Назовите изменяемые и неизменяемые объекты
Изменяемые объекты:
-
Список (
list) -
Словарь (
dict) -
Множество (
set) -
Массивы из библиотеки
numpy(например,numpy.array)
Неизменяемые объекты:
-
Числа (
int,float,complex) -
Строки (
str) -
Кортежи (
tuple) -
Неизменяемые множества (
frozenset) -
Булевы значения (
bool)