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