Python-Cheatsheet/less5.md

2.5 KiB
Raw Blame History

Ссылка на урок: https://youtu.be/OWgVyRgulkI?si=J-BtI0QqmxcCsx55

Области видимости в python

x, y = 1, 2 print("Расчет глобальных переменных", x * y)

def func_1(): print("Расчет глобальных переменных внутри функции", x * y)

def func_2(): x, y = 2, 4 print("Расчет переменных определенных внутри функции", x * y)

func_1() func_2() print("Расчет глобальных переменных", x * y)

Передача параметров в функции python

def plus(a, b, c): return a + b + c

Позиционные

res = plus(1, 2, 3) print(res)

Именованные

res = plus(a=1, b=2, c=3) print(res) res = plus(c=3, a=1, b=2) print(res)

Позиционные + Именованные

res = plus(1, 2, c=3) print(res)

Явное указание, что параметры должны указываться как именованные

Используется * и после нее именованные параметры

def plus_1(a, *, b, c): return a + b + c

Не правильно

res = plus_1(1, 2, c=3)

Правильно

res = plus_1(1, b=2, c=3)

Распаковка при передаче параметров в функции

Распаковка

my_list_1 = ['Стул', 'Шкаф', 'Стол']price = { 'c': 200, 'a': 4500, 'b': 2300 }

def plus_2(a, b, c): return a + b + c

res = plus_2(*my_list_1) print(res) res = plus_1(**price) print(res)

def plus_3(x, y, z, a, b, c): print(x + y + z) print(a + b + c)

plus_3(*my_list_1, **price)

Параметры по умолчанию

Параметры по умолчанию

def plus_4(a=0, b=0, c=0): return a + b + c

print(plus_4()) print(plus_4(a=1)) print(plus_4(a=1, b=1)) Произвольное число параметров

Произвольное число позиционных параметров

def plus_all_1(*args): total_plus = 0 for arg in args: total_plus += arg return total_plus

print(plus_all_1(1, 2, 3, 4, 5)) print(plus_all_1(1, 2))

Произвольное число именованных параметров

def plus_all_2(**kwargs): for key, value in kwargs.items(): print(key, '=', value)

plus_all_2(a=1, b=2, c=3, d=4, z=5) plus_all_2(a=1, b=2)