Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 2, 2022 09:11:23

vladimir_vl_vlad
Зарегистрирован: 2021-07-16
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Что означает слэш в аргументах функции?

Что означает такая запись? Нигде не смог найти пояснений. Код из библиотеки unittest.mock

 def assert_any_call(self, /, *args, **kwargs):
    pass

Офлайн

#2 Ноя. 2, 2022 13:05:22

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

Что означает слэш в аргументах функции?

vladimir_vl_vlad
Нигде не смог найти пояснений
10 секунд мне понадобилось чтобы найти в интернете ответ

Косая черта в списке аргументов функции означает, что параметры, предшествующие ей, являются только позиционными.

Позиционные параметры - это параметры, не имеющие имени, используемого извне.

При вызове функции, которая принимает только позиционные параметры, аргументы сопоставляются с параметрами, основанными исключительно на их положении.

 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)

Офлайн

#3 Ноя. 2, 2022 13:21:54

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Что означает слэш в аргументах функции?

https://metanit.com/python/tutorial/2.15.php



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Ноя. 3, 2022 00:43:58

vladimir_vl_vlad
Зарегистрирован: 2021-07-16
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Что означает слэш в аргументах функции?

xam1816
Спасибо за объяснение, но я так и не понял для чего нужен слэш в коде, который я привел: там же ему ничего не предшествует, а *args и означает позиционные параметры

Офлайн

#5 Ноя. 3, 2022 08:58:07

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

Что означает слэш в аргументах функции?

vladimir_vl_vlad
там же ему ничего не предшествует
a self вы почему за аргумент не считаете?

Офлайн

#6 Ноя. 4, 2022 20:40:38

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Что означает слэш в аргументах функции?

vladimir_vl_vlad
Ну не понял значит не твое ето



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version