Size: a a a

2021 November 09

IV

Iuliia Volkova in SPb Python
var-positional: specifies that an arbitrary sequence of positional arguments can be provided (in addition to any positional arguments already accepted by other parameters). Such a parameter can be defined by prepending the parameter name with *, for example args in the following:

def func(*args, **kwargs): ...
var-keyword: specifies that arbitrarily many keyword arguments can be provided (in addition to any keyword arguments already accepted by other parameters). Such a parameter can be defined by prepending the parameter name with **, for example kwargs in the example above.

Parameters can specify both optional and required arguments, as well as default values for some optional arguments.
источник

IV

Iuliia Volkova in SPb Python
причем тут return, break - не понятно, ты их не сможешь как аргумент в функцию передать
источник

IV

Iuliia Volkova in SPb Python
о чем речь вообще
источник

DS

David Shiko in SPb Python
Ладно, не знаю как выразить мысль по другому.
источник

DS

David Shiko in SPb Python
Есть в пайтоне ряд ф-й, которые можно применить к любому объекту (help, print и т.п.).
До появление * type была из их числа.
источник

IV

Iuliia Volkova in SPb Python
еще раз говорю, ты не понимаешь как работает * и не читаешь что это значит, я тебе выше объяснила почему print работает, ты проигнорировал
источник

IV

Iuliia Volkova in SPb Python
прочти документацию, что значит *перед аргументом
источник

IV

Iuliia Volkova in SPb Python
print принимает любое количество аргументов, можно сделать вот так print(1,3,4,5,) с type ты не можешь сделать type(1,3,4,5),а делая type(*args) ты именно это и делаешь
источник

IV

Iuliia Volkova in SPb Python
ты не понимаешь в чем разница между * в объявлении функций в стейтементе def funct(*args) и в использовании *args при вызове функции
источник

IV

Iuliia Volkova in SPb Python
источник

IV

Iuliia Volkova in SPb Python
help(*args) ты тоже не сделаешь, если у тебя args = (1,2,3)
источник

DS

David Shiko in SPb Python
Не знаю понимаю ли или нет, но активно использую)
Технически очень удобная вещь
источник

IV

Iuliia Volkova in SPb Python
но при этом у тебя возникают вопросы как выше почему type(*args) при args = (1,2) не пишет тип ))
источник

IV

Iuliia Volkova in SPb Python
возможно стоит потратить 15 минут и понять, выше статья где очень много примеров с объяснениями
источник

DS

David Shiko in SPb Python
Вероятность 9 из 10 что я это уже знаю.
Я даже понимаю почему так (нельзя узнать тип или получить справку).
И понимаю техническую необходимость.
Но выглядит логичнее сделать тип аля "extracted_tuple", к которму нельзя применить метод type и help по опредлению, как нельзя len к int применять
источник

IV

Iuliia Volkova in SPb Python
ну твой ответ сейчас говорит о том, что ты не понимаешь, я тебе пишу что функция type() ожидает 1 аргумент на вход для определения типа
источник

IV

Iuliia Volkova in SPb Python
ты передаешь ему *args - развертку аргументов из args
источник

IV

Iuliia Volkova in SPb Python
и пишешь что нельзя определить тип
источник

IV

Iuliia Volkova in SPb Python
ты не понимаешь, что делает *args в коде
источник

IV

Iuliia Volkova in SPb Python
в твоем ответе вообще нет никакого понимания, что делает func(*args) тебе выше кинули материал с объяснением
источник