Что означает только звезда * в объявлении функции?

Что означает * в следующем коде (найденном в библиотеке pprint )?

 def pformat(object, indent=1, width=80, depth=None, *, compact=False): """Format a Python object into a pretty-printed representation.""" return PrettyPrinter(indent=indent, width=width, depth=depth, compact=compact).pformat(object) 

Если бы это было *args тогда это было бы произвольное число позиционных параметров. Значения параметров будут в кортежах, называемых args . Первые 4 параметра могут быть назначены либо по имени, либо по положению, compact параметра может быть назначена только по имени …

  • Должен ли я добавить конечную запятую после последнего аргумента в вызове функции?
  • Оцениваются ли функции при передаче в качестве параметров?
  • Принудительное именование параметров в Python
  • В Python, что определяет порядок при итерации через kwargs?
  • Python: как передать аргументы функции __code__ функции?
  • Передача аргументов C # vs Python
  • Ну нет! Поскольку это не согласуется с документацией :

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

    Итак, что делает звезда после и перед другими именованными аргументами? И как это используется? Или почему он там, если он не используется?

  • Передача аргументов C # vs Python
  • Что предпочтительнее использовать в Python: лямбда-функции или вложенные функции ('def')?
  • Почему не присваивается пустой список (например, = "") ошибка?
  • В Python, как я использую подпроцесс вместо os.system?
  • Как прервать выполнение сценария Python?
  • Обработка многократно структурированного текстового файла с помощью python
  • One Solution collect form web for “Что означает только звезда * в объявлении функции?”

    Он разделяет аргументы позиции из аргументов только для ключевого слова, когда нет переменных. Это функция Python-3.

    Python - лучший язык программирования в мире.