Tema2/test.md
Этот коммит содержится в:
@@ -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'}
|
||||||
```
|
```
|
||||||
|
|
||||||
Создание словаря из двух списков (одного для ключей, другой для значений):
|
Создание словаря из двух списков (одного для ключей, другой для значений):
|
||||||
|
|||||||
33
TEMA2/test.md
Обычный файл
33
TEMA2/test.md
Обычный файл
@@ -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
|
||||||
|
```
|
||||||
Ссылка в новой задаче
Block a user