Форум сайта python.su
Что означает такая запись? Нигде не смог найти пояснений. Код из библиотеки unittest.mock
def assert_any_call(self, /, *args, **kwargs): pass
Офлайн
vladimir_vl_vlad10 секунд мне понадобилось чтобы найти в интернете ответ
Нигде не смог найти пояснений
Косая черта в списке аргументов функции означает, что параметры, предшествующие ей, являются только позиционными.
Позиционные параметры - это параметры, не имеющие имени, используемого извне.
При вызове функции, которая принимает только позиционные параметры, аргументы сопоставляются с параметрами, основанными исключительно на их положении.
def func(a, b, /): print('ok') try: func(1, 2) except: print('error') try: func(a=1, b=2) except: print('error')
Отредактировано xam1816 (Ноя. 2, 2022 13:09:17)
Офлайн
https://metanit.com/python/tutorial/2.15.php
Офлайн
xam1816Спасибо за объяснение, но я так и не понял для чего нужен слэш в коде, который я привел: там же ему ничего не предшествует, а *args и означает позиционные параметры
Офлайн
vladimir_vl_vlada self вы почему за аргумент не считаете?
там же ему ничего не предшествует
Офлайн
vladimir_vl_vladНу не понял значит не твое ето
Офлайн