Краткая версия · Уроки 1-3

Повторение уроков 1-3

Ключевые темы трёх уроков в концентрированном виде. Дальше - практика.

Что освежим

Шесть тем · одна страница

типы · if/elif
for · while · range
list · срезы
tuple · set · dict
def · *args · **kwargs
lambda · sorted

Никаких новых тем - только то, что уже знаете, в одном кадре. После - 25 задач в Jupyter.

Урок 1

Переменные, типы, ввод, условия

# типы определяются автоматически name = "Аня" # str age = 30 # int price = 19.99 # float ok = True # bool # ввод и преобразование n = int(input("Число: ")) # input всегда str! # условия if n > 0: print("плюс") elif n < 0: print("минус") else: print("ноль")
Ключевые точки
  • type(x) - смотрим тип переменной
  • int(), float(), str() - конверсия типов
  • двоеточие и отступ обязательны
  • сравнения: == != < > <= >=
  • логические: and / or / not

Урок 2

Циклы и списки

# for + range for i in range(1, 6): # 1..5 (без 6) print(i) # while + break/continue n = 0 while n < 10: n += 1 if n % 2: continue # пропустить нечёт if n > 6: break # списки и срезы a = [10, 20, 30, 40, 50] a[0]; a[-1] # 10, 50 a[1:4]; a[::-1] # срез, реверс a.append(60); a.pop(); a.sort()
Запомнить
  • range(start, stop, step) - верхняя граница не входит
  • break - выйти из цикла, continue - пропустить итерацию
  • индексы с нуля, -1 - последний элемент
  • [start:stop:step] - срез списка
  • список изменяемый, кортеж - нет

Урок 3 · часть 1

Коллекции - шпаргалка

Тип Литерал Изменяемый Когда брать
list[1, 2, 3]дарастущая последовательность
tuple(1, 2, 3)нетфиксированный набор (x, y)
set{1, 2, 3}дауникальные · быстрый in O(1)
dict{"k": 1}дапоиск по имени O(1)
u = {"name": "Аня", "age": 30} u["name"]; u.get("city", "-") # доступ + default for k, v in u.items(): print(k, v) a, b = {1,2,3}, {2,3,4} a | b; a & b; a - b # объединение, пересеч., разн.
Выбор коллекции
  • «ищу по имени» - dict
  • «уникальные значения» - set
  • «не меняется» - tuple
  • «меняется, по порядку» - list

Урок 3 · часть 2

Функции: def, *args, lambda

# обычная функция с default def price_tax(p, tax=0.12): return p * (1 + tax) # *args - tuple, **kwargs - dict def log(level, *parts, **meta): print(level, parts, meta) log("INFO", "user", "in", id=42) # lambda + sorted people = [("Аня", 30), ("Боря", 25)] sorted(people, key=lambda p: p[1])
Запомнить
  • return завершает функцию
  • default только для неизменяемых типов (НЕ [], НЕ {})
  • *args - tuple позиционных, **kwargs - dict именованных
  • lambda x: expr - одна строка, одно выражение
  • область видимости - правило LEGB

Всё вместе

Финальный пример

Одна функция, все три урока: типы, цикл, dict, list, *args, default, lambda.

def analyze(*scores, passing=60): passed = [s for s in scores if s >= passing] return { "total": len(scores), "passed": len(passed), "avg": sum(passed) / len(passed) if passed else 0, "top": max(scores, default=0), } print(analyze(85, 42, 73, 91, 55))
{'total': 5, 'passed': 3, 'avg': 83.0, 'top': 91}

Если этот код понятен - всё в порядке. Если нет - идём к практике.

Практика

15 задач в Jupyter

.ipynb
lecture04_tasks.ipynb
5 разделов · 15 задач
Скачать RU Yuklab olish UZ Download EN

После практики

Вы сможете

  • Уверенно работать с типами
  • Писать if/elif/else без шпаргалки
  • Понимать срезы и range
  • Выбирать list/tuple/set/dict
  • Писать функции с *args/**kwargs
  • Применять lambda и sorted/filter/map
Следующий шаг

Урок 4 - ООП: классы, методы, наследование. Объединяем данные и поведение.

Вопросы?

Telegram: @gokalqurt

Python · Повторение · краткая
RU UZ EN
1 / 10