@ -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 '}
```
Создание словаря из двух списков (одного для ключей, другой для значений):