Python-Cheatsheet/less5.md

2.6 KiB
Raw Permalink Blame History

Ссылка на урок

Области видимости в 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)

Назад на главную