21.12.2023
Третий день обучения 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