Тестирование программного обеспечения | Подробное использование обязательных параметров, параметров по умолчанию, переменных параметров и параметров ключевых слов параметров функций Python.
Тестирование программного обеспечения | Подробное использование обязательных параметров, параметров по умолчанию, переменных параметров и параметров ключевых слов параметров функций Python.

На Python,Параметры функции — это переменные, определенные в заголовке функции.,Используется для получения данных, передаваемых в функцию. Есть четыре типа параметров функции Python: Обязательные. параметры、Параметры по умолчанию、Переменные параметрыиаргументы ключевого слова. Каждый тип имеет разные методы использования и применимые сценарии. В этой статье будет подробно описано использование этих четырех параметров функции.

Типы параметров функций Python

  • Обязательные параметры: наиболее часто используемые, необходимо передать определенное количество параметров.
  • Параметры по умолчанию: Вы можете передать его или нет при вызове функции. Если вы не передадите его, будет использовано значение по умолчанию.
  • Переменный параметр: параметр переменной длины
  • аргументы ключевого слова: переменная длина, но должна быть key-value Формальная передача параметров

Обязательные параметры

Обязательные Параметр относится к параметрам, которые необходимо указать при вызове функции. В определении функции нет значений по умолчанию. если при вызове функции передается No Обязательные параметра интерпретатор Python сообщит об ошибке. Пример кода выглядит следующим образом:

Язык кода:python
кодКоличество запусков:0
копировать
def hello(name):
    print("hello,"+ name + "!")

hello('Muller')

В приведенном выше коде,name это Обязательные параметры, параметры hello Значение должно быть указано при использовании функции. В этом примере,Параметры, передаваемые при вызове функции:"Muller"。Результат вывода: "Hello, Muller!"

Конечно, мы также можем иметь несколько Обязательных параметр,Когда есть лучшее Обятельные параметры час,Сколько их,Сколько мы должны передать?,Примеры следующие:

Язык кода:python
кодКоличество запусков:0
копировать
def add(a, b):
    return a + b
print(add(1, 2))
####
Результат вывода: 3
  • Функция добавления имеет два параметра: первый параметр — a, второй параметр — b.
  • Два переданных целых числа присваиваются параметрам a и b функции в порядке позиции. Параметр a и параметр b называются позиционными параметрами.

Примечание. Количество передаваемых параметров должно равняться количеству списков параметров.

  • Передача параметров в соответствии с позицией параметра, определенной функцией. Передаваемые параметры должны взаимно однозначно соответствовать параметрам, определенным функцией.
  • Если «количество переданных параметров» не равно «количеству параметров, определенных функцией», во время выполнения будет сообщено об ошибке следующим образом:
Язык кода:python
кодКоличество запусков:0
копировать
def add(a, b):
    return a + b
print(add(1))

##### 
TypeError: add() missing 1 required positional argument: 'b'

--------------------------
def add(a, b):
    return a + b
print(add(1,2,3))
#####
TypeError: add() takes 2 positional arguments but 3 were given

Параметры по умолчанию

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

Язык кода:python
кодКоличество запусков:0
копировать
def greet(name, greeting="Hello"):
    print(greeting + ", " + name + "!")

greet("Bob")
greet("Charlie", "Hi")

##### 
Вывод следующий:
Hello, Bob!
Hi, Charlie!

В приведенном выше коде,greeting это параметр по умолчанию,Его значение по умолчанию"Hello"。при первом звонке,Прошли только Обязательные параметры"Bob",Параметры по умолчаниюgreeting Используйте значение по умолчанию,Результат вывода:"Hello, Bob!"

Во втором звонке передаются Обязательные параметры"Charlie"и Индивидуальные Параметры по умолчанию "Hi",Результат вывода: "Hi, Charlie!"

Использование параметров по умолчанию может сделать вызовы функций более гибкими.,Вы можете выбрать, передавать ли этот параметр в соответствии с вашими потребностями.,Если если не передано, используется значение по умолчанию.

Примечание: При объявлении функции, когда есть еще Обязательные параметрыи Параметры по По умолчанию порядок формальных параметров должен быть (Обязательные параметры , Параметры по по по по по по по по по по по по умолчанию),Настройка по умолчанию отключена

Переменные параметры

Переменные параметры означает, что если количество параметров не определено при определении функции, она может получать любое количество параметров. Python предоставляет два способа реализации Переменных. параметры: используйте звездочку (*) и двойную звездочку (**).

  1. Используйте звездочку(*)газета определяет переменные параметры:

Пример кода выглядит следующим образом:

Язык кода:python
кодКоличество запусков:0
копировать
def calculate_sum(*numbers):
    total = 0
    for number in numbers:
        total += number
    return total

result = calculate_sum(1, 2, 3, 4, 5)
print(result)
##### 
Выход — 15

В приведенном выше коде,*numbers это Переменные параметры,Он может принимать любое количество параметров. внутри тела функции,Мы используем цикл для перебора всех параметров,и добавьте их вtotalв переменной。Позвонив calculate_sum функция,и передать параметры1, 2, 3, 4,5,Мы можем получить их сумму,Результат вывода: 15

Примечание:

  • args — это тип кортежа
  • Переменные параметры передавать не нужно, либо можно передать много значений
  • *(2, 3, 4, 5),в кортежеorДобавьте один в начало списка*,Это означает разделение каждого элемента внутри,Передайте его как формальный параметр,Также известно как распаковка кортежа

аргументы ключевого слова

аргументы ключевого слова относятся к передаче значений параметров путем указания имен параметров при вызове функции. аргументы ключевого Основная особенность слов заключается в том, что параметры можно передавать вне того порядка, в котором они определены, и передавать можно только часть параметров. аргументы ключевого Использование слов может повысить читаемость вызовов функций и избежать путаницы в порядке параметров. Пример кода выглядит следующим образом:

Язык кода:python
кодКоличество запусков:0
копировать
def greet(name, greeting):
    print(greeting + ", " + name + "!")

greet(greeting="Hi", name="Alice")
#####
Результат:
Hi, Alice!

В приведенном выше коде,Передавать значения параметров, указав имена параметров,Мы можем передавать параметры в любом порядке. В этом примере,функцияназываетсячасиспользоваларгументы ключевого слова greeting="Hi" иname="Alice",Результат вывода: "Hi, Alice!"

Подвести итог

Существует четыре типа параметров функции Python: Обязательные. параметры、Параметры по умолчанию、Переменные параметрыиаргументы ключевого слова。Обязательные параметры должны быть указаны при вызове функции, значения по умолчанию нет; по По умолчанию параметру присваивается значение по умолчанию при определении функции, и ему не требуется передавать параметр при вызове функции; параметры могут принимать любое количество параметров, определяемых с помощью звездочки (*) и двойной звездочки (** аргументы); ключевого слова Передавать значения параметров, указав имена параметров,Параметры могут передаваться вне определенного порядка. Освойте использование этих различных типов функциональных параметров.,Это позволяет нам лучше писать гибкие и расширяемые функции.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose