Тип данных и объект
Тип данных определяет, какие значения может хранить объект и какие операции с этими значениями допустимы. Объект в Python — любое значение, с которым работает программа: число, строка, логическое значение, None и более сложные структуры, которые появятся позже.
Динамическая типизация
Python определяет тип автоматически в момент присваивания. Одно и то же имя может последовательно ссылаться на объекты разных типов.
# main.py
price = 10
print(type(price)) # <class 'int'>
price = 9.99
print(type(price)) # <class 'float'>
В конспекте это описано как динамическая типизация: Python не требует заранее объявлять тип переменной.
Примитивные типы данных
int — целые числа
# numbers.py
x = 5
y = -3
z = 0
float — числа с плавающей запятой
# numbers.py
pi = 3.14
temperature = -5.2
str — строки
Строки — упорядоченные последовательности символов. Их можно записывать в одинарных, двойных и тройных кавычках.
# strings.py
single_quote_string = 'Это строка в одинарных кавычках.'
double_quote_string = "Это строка в двойных кавычках."
multi_line_string = """Это многострочная строка.
Она сохраняет переносы строк."""
bool — логические значения
# booleans.py
is_student = True
has_passed = False
True и False пишутся с большой буквы и без кавычек. Строка "True" — это уже текст, не логическое значение.
NoneType — отсутствие значения
# none_value.py
value = None
None используют, когда значение ещё неизвестно, не найдено или функция ничего полезного не возвращает.
Возвращаемое значение
Возвращаемое значение — результат, который функция передаёт обратно в место вызова. Например, input() возвращает введённую строку.
# return_value.py
name = input("Введите имя: ")
print(name)
Процедуры в Python
В Python нет отдельного синтаксиса «процедур», но термин иногда используют для функций, которые выполняют действие и не возвращают полезный результат. Такая функция фактически возвращает None.
# print_none.py
value = print("Привет, мир!")
print(value) # None
Передача аргументов в функцию
В функцию можно передать литерал, переменную, результат выражения или результат другой функции.
# arguments.py
print(5)
print("Привет, мир!")
text = "Привет, мир!"
print(text)
print(2 + 5)
print(input("Введите имя: "))
Функция type()
type() возвращает тип объекта. Чтобы увидеть результат, передайте вызов type() в print().
# types.py
x = 10
print(type(x)) # <class 'int'>
x = "Привет"
print(type(x)) # <class 'str'>
Строковые операции
Конкатенация объединяет строки через +. Умножение строк повторяет строку заданное число раз.
# string_operations.py
str1 = "Привет"
str2 = "мир"
result = str1 + " " + str2
print(result) # Привет мир
greeting = "Hi! "
print(greeting * 3) # Hi! Hi! Hi!
Кавычки и многострочные строки
Если внутри текста есть одинарные кавычки, удобно обрамить строку двойными кавычками. Если внутри есть двойные кавычки — наоборот.
# quotes.py
quote1 = "Она сказала: 'Привет!'"
quote2 = 'Он ответил: "Привет!"'
quote3 = """Текст с 'одинарными' и "двойными" кавычками."""
Экранирование символов
Обратный слэш \ начинает escape-последовательность. Частые варианты: \n — новая строка, \t — табуляция, \\ — сам обратный слэш.
# escape.py
print("Первая строка\nВторая строка")
print("Первая строка\tВторая строка")
path = "C:\\Users\\Username\\Documents"
print(path)
Параметры sep и end
sep задаёт разделитель между аргументами print(), а end задаёт окончание вывода. По умолчанию sep=" ", end="\n".
# print_options.py
print("one", "two", "three")
print("one", "two", "three", sep="---")
print("Привет,", "мир", end="!")