@ -11,22 +11,32 @@
logiz1=bool(56)
logiz1
True
type(logiz1)
< class ' bool ' >
logiz2=bool(0)
logiz2
False
type(logiz2)
< class ' bool ' >
logiz3=bool("Beta")
logiz3
True
type(logiz3)
< class ' bool ' >
logiz4=bool("")
logiz4
False
type(logiz4)
< class ' bool ' >
logiz5=bool("Infinity")
logiz5
True
type(logiz5)
< class ' bool ' >
```
### 2.2 Преобразование в целое десятичное число объекта с заданной системой счисления.
@ -36,15 +46,27 @@ True
tt1=int(198.6)
tt1
198
type(tt1)
< class ' int ' >
tt2=int("-76")
tt2
-76
type(tt2)
< class ' int ' >
tt3=int("B",16)
tt3
11
type(tt3)
< class ' int ' >
tt4=int("71",8)
tt4
57
type(tt4)
< class ' int ' >
tt5=int("98.76")
Traceback (most recent call last):
File "< pyshell # 20 > ", line 1, in < module >
@ -59,18 +81,26 @@ _Объяснение последнего вызова: функция int() в
flt1=float(789)
flt1
789.0
type(flt1)
< class ' float ' >
flt2=float(-6.78e2)
flt2
-678.0
type(flt2)
< class ' float ' >
flt3=float("Infinity")
flt3
inf
type(flt3)
< class ' float ' >
flt4=float("-inf")
flt4
-inf
type(flt4)
< class ' float ' >
```
### 2.3 Преобразование десятичных чисел в другие системы счисления:
```py
@ -78,14 +108,20 @@ hh=123
dv1=bin(hh)
dv1
'0b1111011'
type(dv1)
< class ' str ' >
vos1=oct(hh)
vos1
'0o173'
type(vos1)
< class ' str ' >
shs1=hex(hh)
shs1
'0x7b'
type(shs1)
< class ' str ' >
int(dv1,2)
123
@ -114,6 +150,20 @@ strk5=str({"A":1,"B":2,"C":9})
strk5
"{'A': 1, 'B': 2, 'C': 9}"
```
Создайте строку со своей фамилией и инициалами, преобразуйте её в список, затем список – в кортеж и, наконец, кортеж – в строку.
```py
fio="Kolomeytsev D.A."
fio=list(fio)
fio
['K', 'o', 'l', 'o', 'm', 'e', 'y', 't', 's', 'e', 'v', ' ', 'D', '.', 'A', '.']
fio=tuple(fio)
fio
('K', 'o', 'l', 'o', 'm', 'e', 'y', 't', 's', 'e', 'v', ' ', 'D', '.', 'A', '.')
fio=str(fio)
fio
"('K', 'o', 'l', 'o', 'm', 'e', 'y', 't', 's', 'e', 'v', ' ', 'D', '.', 'A', '.')"
```
### 3.2 Преобразование элементов объекта в список с помощью функции list(< Объект>).
```py
@ -265,6 +315,36 @@ Traceback (most recent call last):
c1< c2
TypeError: '< ' not supported between instances of 'complex' and 'complex'
```
Операции со смешанными типами:
```py
178//45.0
3.0
(2+1j)
178/c
(71.2-35.6j)
148%33
16
148.0%33
16.0
148%c
Traceback (most recent call last):
File "< pyshell # 99 > ", line 1, in < module >
148%c
TypeError: unsupported operand type(s) for %: 'int' and 'complex'
14**3
2744
14.5**3
3048.625
c**5
(-38+41j)
```
## 5. Операции с двоичными представлениями целых чисел.
### 5.1. Двоичная инверсия (~).
Значение каждого бита в представлении числа заменяется на противоположное значение (0 на 1, 1 на 0).
@ -276,6 +356,7 @@ dv1
dv2
-10
```
### 5.2. Двоичное «И» (& ).
Побитовое совпадение двоичных представлений чисел:
```py
@ -284,6 +365,7 @@ dv2
7& 8 # 111 и 1000 = 000
0
```
### 5.3. Двоичное «ИЛИ» (|).
Побитовое сравнение двоичных представлений чисел и 0 получается,
только если оба сравниваемых разряда равны 0:
@ -319,8 +401,44 @@ g2
3
```
Пример работы двух двоичных чисел из 7 знаков:
```py
a = 0b1010101 # 85 в десятичной системе
b = 0b1100100 # 100 в десятичной системе
a
85
b
100
a< < 2
340
b>>2
25
b
102
~b
-101
~a
-86
(b& a)
68
```
## 6. Операции при работе с последовательностями (строками, списками, кортежами).
```py
stroka='Stroka'
dir(stroka)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
```
### 6.1. Объединение последовательностей (конкатенация)(+)
```py
'Система '+'регулирования' #Соединение двух строк символов
@ -402,15 +520,24 @@ stroka+=' регулирования'
```
### 7.3. Умножение текущего значения переменной на заданную величину (*=) или деление (/=)
```py
zz=-12
zz/=2
zz
-5 .0
-6 .0
zz*=5
zz
-25.0
-30.0
zz*=5.4
zz
-162.0
zz//=80
zz
-3.0
zz**=4
zz
81.0
```
Для строк операция (*=) означает повторение текущего значения объекта заданное число раз.
Попробуйте эту операцию самостоятельно.
### 7.4.Операции деления
```py
zz//=4
@ -533,6 +660,8 @@ o
Операции с множеством:
```py
mnoz1={'pen','book','pen','iPhone','table','book'}
dir(mnoz1)
['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
'book' in mnoz1
True
'cap' in mnoz1
@ -541,6 +670,7 @@ False
Операции со словарем:
```py
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
'Vologda' in dic1
True
'Pskov' in dic1
@ -571,6 +701,7 @@ False
```py
w=v=10 #При таком присваивании переменные ссылаются на один и тот же объект в оперативной памяти
w is v
# Числа до 500 в питоне имеют одинаковый адрес/хэш в памяти
True
w1=['A','B']
v1=['A','B']
@ -636,6 +767,8 @@ spsk.count('a') #считает количество 'a' в списке
### 9.3. Методы для работы с кортежами.
```py
kortezh = (1, 'a', 'b', 3, 'c', 4)
dir(kortezh)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
kortezh.count(3) #считает количество 3 в списке
1
kortezh.index('b') #выводит с каким индексом в кортеже 'b'
@ -646,6 +779,8 @@ kortezh + (5, 6) #добавляет 5, 6 в кортеж
### 9.4. Методы для работы со словарями.
```py
slvr = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
dir(slvr)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
slvr.keys() #получение ключей словаря
dict_keys(['a', 'b', 'c', 'd'])
slvr.values() #получение значений словаря
@ -665,6 +800,8 @@ slvr
### 9.5. Методы для работы с множествами.
```py
mng={1,'a',2,'b',3,'c',4}
dir(mng)
['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
mng.add('d') #добавление в множество mng элемента 'd'
mng
{1, 2, 3, 'c', 4, 'a', 'b', 'd'}