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

Правила работы с переменными:

  1. Всегда выбирать осмысленные названия
  2. В названиях переменных использовать имя существительное, например: name, comments, new_photos — Отвечает на вопрос, что содержит?
  3. Название функции и методов начинать с глагола, например: 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