Третий день обучения 21,12,2023

Строки str

Строка это последовательность символов

my_name = "Aleksey"
print(my_name)
#Aleksey

print(type(my_name))
#<class 'str'>

**Многострочные строки**
info_msg = """Привет
Мир"""

print(info_msg)
#Привет 
#Мир

long_str = "Очень длинная строка кода"
print(long_str)
print(type(long_str))

**Ответ в консоли**
Очень длинная строка кода
<class 'str'>

long_str = """Очень
длинная
строка
кода"""
print(long_str)
print(type(long_str))

**Ответ в консоли**
Очень
длинная
строка
кода
<class 'str'>

Встроенные функции и строки

print(len(long_str))
len - колличество символов в строке

Если использовать квадратные скобки в выводе принт можно получить символ из строки
print(long_str[0])
print(long_str[3:6])

**Доступные методы для строк:**
upper() replace() count() index() capitalize() lover()

**Вызов методов:**  
print(long_str.replace)

Метод replace заменяет одни данные на другие.
Методы не могут создавать новые объекты

Целые числа int

frends_qty = 50

print(frends_qty)
#50

print(type(frends_qty))
<class 'int'>

Все данные которые вводит пользователь в поле input всегда str но его можно пере конвертировать в int через специальную функцию

user_input = input("Введите свое значение сюда:")
any_num = int(user_input)

print(any_num)
#Номер который ввел человек в поле input

print(type(any_num))
#Будет ответ <class 'int'>

**Как конвертировать сразу результат ввода пользователем данных в int**
any_num = int(input("Ввыедите сюда что угодно: "))
print(any_num)
print(type(any_num))

Возведение в степень power

base = 5
power = 3

print(pow(base, power))
#125

Если число длинное, допускается разделение через подчеркивание 1_000_000
Это разделение создано для того что бы читать числа было удобно

Числа с десятичной точкой float

average_price = 17.25

print(average_price)
#17.25
print(type(average_price))
#<class 'float'>

**Конвертация**
average_price = 17.25
price = int(average_price = 17.25)

print(prict)
#18

**Округление**
average_price = 17.25
print(round(average_price))
#17

rate = 0.78
print(round(rate))
#1

print(type(round(rate)))
#<class 'int'>

Комплексные числа complex

Комплексное число состоит из действительной и мнимой части

complex_a = 3 + 5j
complex_b = 4 + 7j
sum = complex_a + comlex_b

print(sum)
#(7+12j)

print(type(sum))
#<class 'complex'>

Логический тип bool

Часто используется при проверке правдивости выражения

is_authorized = True

print(is_authorized)
#True

print(type(is_authorized))
#<class 'bool'>

**Конвертация в логическое значение**
bool(is_authorized)

Конвертация типов

python не выполняет неявную конвертацию типов значений

Встроенные функции для явной конвертации типов

str() строка

int() целое число

float()

list()

tuple()

set()

Операции с значениями разных типов

‘10’ + 5
TypeError: can only concatenate str (not "int") to str

будет ошибка. так как конвертация двух типов str и int

**Корректное сложение явной конвертации типов
5 + int('10')
#15**

Магические методы

int_num = 50
float_num = 7.5

print(int_num + float_num)
#57.5

print(int_num.__add__(float_num))
#NotImplemented

print(float_num.__radd__(int_num))
#57.5