FilippovDY (FilippovDY) 1 месяц назад
Родитель e76222b860
Сommit ac2f51c05f

@ -29,6 +29,13 @@
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os']
``` ```
`__annotations__` — хранит аннотации типов переменных, функций и классов в модуле
`__builtins__` — список строенных идентификаторов
`__doc__` — строка документации модуля
`__loader__` — объект, который загрузил модуль
`__name__` — имя модуля
`__package__` — имя пакета, к которому принадлежит модуль
Получение списка атрибутов любого объекта, например f1: Получение списка атрибутов любого объекта, например f1:
```py ```py
>>> dir(f1) >>> dir(f1)
@ -129,7 +136,7 @@
15 15
``` ```
Объединение объектов в кортеж (возвращается указатель на участок памяти): Объединение последовательности объектов в последовательность кортежей:
```py ```py
>>> list1=[1,2,5] >>> list1=[1,2,5]
>>> list1 >>> list1
@ -148,6 +155,7 @@
>>> Gg1 >>> Gg1
45 45
``` ```
Таким образом, большая и маленькая буква одной и той же буквы в начале имеют различие в имени переменной, так как получилось два разных объекта
# 7. изучение базовых типов объектов # 7. изучение базовых типов объектов
@ -202,12 +210,12 @@
Создание строки по шаблону: Создание строки по шаблону:
```py ```py
>>>ss1b= 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>' >>>ss1b= 'Меня зовут: \n FilippovDY'
>>>print(ss1b) >>>print(ss1b)
Меня зовут: Меня зовут:
<сюда вставьте свою фамилию и инициалы> FilippovDY
>>>ss1b >>>ss1b
'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>' 'Меня зовут: \n FilippovDY'
``` ```
Многострочные строки можно задавать в виде объекта с использованием тройных кавычек: Многострочные строки можно задавать в виде объекта с использованием тройных кавычек:
@ -274,6 +282,7 @@
Создание объектов разных типов Создание объектов разных типов
```py ```py
>>> number1=45
>>> type(number1) >>> type(number1)
<class 'int'> <class 'int'>
>>> number2='Число' >>> number2='Число'
@ -294,7 +303,7 @@
... 8,9,10] #Список можно вводить на нескольких строках ... 8,9,10] #Список можно вводить на нескольких строках
``` ```
Можно использовать индексы точно также, как и сэлементами символьной строки Можно использовать индексы точно также, как и с элементами символьной строки
```py ```py
>>> spis1[-1] >>> spis1[-1]
(5-9j) (5-9j)
@ -348,14 +357,14 @@
```py ```py
>>> spis1.insert(1, "hello") >>> spis1.insert(1, "hello")
>>> spis1 >>> spis1
[111, 'hello', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>'] [111, 'hello', (5-9j), 'New item', 'Меня зовут: \n FilippovDY', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>']
``` ```
Удаление элемента по значению: Удаление элемента по значению:
```py ```py
>>> spis1.remove(5-9j) >>> spis1.remove(5-9j)
>>> spis1 >>> spis1
['hello', 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>'] ['hello', 'New item', 'Меня зовут: \n FilippovDY', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>']
``` ```
Добавление элементов объекта в конец другого объекта: Добавление элементов объекта в конец другого объекта:
@ -363,7 +372,7 @@
>>> spis2=['hello', 255, 5-10j] >>> spis2=['hello', 255, 5-10j]
>>> spis1.extend(spis2) >>> spis1.extend(spis2)
>>> spis1 >>> spis1
['hello', 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>', 'hello', 255, (5-10j)] ['hello', 'New item', 'Меня зовут: \n FilippovDY', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>', 'hello', 255, (5-10j)]
``` ```
Полное очищение списка: Полное очищение списка:
@ -423,7 +432,11 @@
>>> spis2[0][1]=78 >>> spis2[0][1]=78
>>> spis2 >>> spis2
[[10, 78, 5, 4, -3], [4, 5, 6, 7]] [[10, 78, 5, 4, -3], [4, 5, 6, 7]]
>>> spis1
[10, 78, 5, 4, -3]
``` ```
Видим, что spis1 тоже изменился. Упоминая spis1 в строке spis2=[spis1,[4,5,6,7]] мы не создаем копию spis1, поэтому его изменения в составе spis2 отображаются на исходном spis1.
Создание объекта-списка, элементами которого будут объекты разных типов Создание объекта-списка, элементами которого будут объекты разных типов
```py ```py
@ -447,14 +460,14 @@
(222, 'Kortezh', (77+8j), 1, 2) (222, 'Kortezh', (77+8j), 1, 2)
>>> kort1= kort1+(ss1b,) >>> kort1= kort1+(ss1b,)
>>> kort1 >>> kort1
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>') (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n FilippovDY')
``` ```
Переопределение кортежа с удалением комплексного элемента: Переопределение кортежа с удалением комплексного элемента:
```py ```py
>>> kort2=kort1[:2]+kort1[3:] >>> kort2=kort1[:2]+kort1[3:]
>>> kort2 >>> kort2
(222, 'Kortezh', 1, 2, 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>') (222, 'Kortezh', 1, 2, 'Меня зовут: \n FilippovDY')
``` ```
Определение индекса заданного элемента: Определение индекса заданного элемента:
@ -519,14 +532,13 @@
```py ```py
>>> dic2={1:'mean',2:'standart deviation',3:'correlation'} >>> dic2={1:'mean',2:'standart deviation',3:'correlation'}
>>> dic3={'statistics':dic2,'POAS':['base','elementary','programming']} >>> dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
dic3['statistics'][2]
``` ```
Создание более сложного словаря из списка с элементами-кортежами: Создание более сложного словаря из списка с элементами-кортежами:
```py ```py
>>> dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) >>> dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
>>> dic4 >>> dic4
{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>'} {1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n FilippovDY'}
``` ```
Создание словаря из двух списков (одного для ключей, другой для значений): Создание словаря из двух списков (одного для ключей, другой для значений):

@ -0,0 +1,33 @@
# Задание
Пусть предполагается выполнить инструкции
```py
>>> u=[1,2,3,4,5]
>>> v=['a',u,'v',[11,12]]
>>> print(v[1][3])
```
Не выполняя эти инструкции, подумайте, какое значение будет выведено на экран? Проверьте свое предположение вводом инструкций.
# Решение
У нас есть список u и список v. Список u является вложенным списком списка v. Если мы выведем список v:
```py
>>> print(v)
['a', [1,2,3,4,5], 'v', [11,12]]
```
То мы увидим внутри списка v список u. Тогда при выполнении инструкции:
```py
>>> print(v[1][3])
```
Мы получим следующий ответ:
```py
4
```
Так как индексация в Python начинается с 0.
Теперь проверим решение вводом инструкций:
```py
>>> u=[1,2,3,4,5]
>>> v=['a',u,'v',[11,12]]
>>> print(v[1][3])
4
```
Загрузка…
Отмена
Сохранить