20.12.2023
Второй день обучения 20,12,2023
Комментирование кода
#Комментарий
print(10) #Код с комментарием
После строки кода, используется 2 и более пробелов перед комментарием
Функции, обзор функций
Одну и туже функцию можно вызывать многократно.
Параметр пишется в круглых скобка. Параметр это переменная которая доступна внутри функции. И значение этой переменной задается в момент вызова этой функции.
Параметры доступны только в теле функции. За ее пределами они не доступны
def hallo():
print("Hallo there!")
hallo()
hallo()
**Функция с параметрами:**
def hallo(name):
print("Hallo there!", name)
hallo('Алексей')
**Ответ в консоли:** Hallo there! Алексей
Ключевое слово return
return
возвращает значение. Это означает что функция выполнила работу и вернула определенное значение как результат своей работы. И потом этот результат можно использовать там, где нужно.
return
по другому называется инструкция.
Как только функция доходит до return
она прекращает работу. И если после return
будет написано что то еще, работать дальше ничего не будет.
def sum_nums(a, b):
sum = a + b
return sum
first_sum = sum_nums(10,5)
print(first_sum)
**А еще можно передать одну функцию сразу в другую:**
print(sum_nums(10,5))
**Или еще вариант:**
print(sum_nums(sum_nums(10, 23),30))
Выражения expressions
Результатом выражения является значение.
Результат выражения можно в функции
Вызов функции это выражение
Результатом каждого выражения является значение
5 + 3 #8 - Сумма значений
a > b # True and False
'Hallo' + 'World' # 'Hallo World'
my_func(10, 5) # результат функции
Инструкции
Инструкция создать функцию. Инструкция выполняет действие. Создает функцию, выполняет действие, импортирует модуль, объявление функции
my_name = 'Bogdan' # Присвоение выражения
# Условная инструкция
if my_name:
print(my_name)
# Импортирование модуля
import datetime
Переменные
Переменные дают возможность повторного доступа к значениям которые этим переменным присвоены.
Переменные это коробка, в которую мы кладем значения.
Имена в pyhton
snake_case – Переменные, функции, методы, модули. Самый популярный и чаще всего используется.
PascalCase – Классы
my-package – Пакеты
DB_PASSWORD – Константы/Переменные (переменные, которые не изменяются в процессе жизни функции, или программы)
Название переменных должно быть понятным.
Переменные: объявление и присвоение значений
Pyhton является языком с динамической типизацией. Это значит, что одной и той же переменной можно присваивать разные значения.
Тип любой переменной определяется типом присвоенного значения, строка, число, логика и т.д.
my_number = 10
**Динамическая типизация**
my_variation = 10
my_variation = 'Aleksey'
my_variation = True
**Вывод значений переменных в терминал:**
my_number = 10
print(my_number) # 10
Правила работы с переменными:
- Всегда выбирать осмысленные названия
- В названиях переменных использовать имя существительное, например: name, comments, new_photos — Отвечает на вопрос, что содержит?
- Название функции и методов начинать с глагола, например: get_data, create_request — Что выполняет или возвращает?
Типы и структуры данных
В pyhton отсутствуют примитивные типы.
В pyhton существуют изменяем и неизменяемые объекты.
int — не изменяемый объект
str — не изменяемый объект
bool — не изменяемый объект
float (число с десятичной точкой) — не изменяемый объект
tuple (кортеж) — не изменяемый объект
none — не изменяемый объект
list — изменяемый объект
dict (словарь) — изменяемый объект
set (набор) — изменяемый объект Могут быть только уникальные элементы
user-defined classes (пользовательские классы) — изменяемый объект
Переменные и объекты
Как можно проверить что переменная является объектом.
my_name — объект
Пока существует переменная my_name сохраняется объект в памяти.
Переменная, это всего лишь ссылка на объект в памяти.
Как можно узнать какую ссылку содержит та или иная переменная.
id(my_country)
Встроенная функция id
my_country это переменная.
**Пример:**
my_number = 10
print(id(my_number))
**Ответ в консоли:** 140706231405272 (Адрес объекта в памяти)
***В python возможно что переменные могут ссылкать на один объект.***
my_number = 10
print(id(my_number))
Ответ в консоли:
140707503786712
other_number = my_number
print(id(other_number))
Ответ в консоли:
140707503786712