Ключевое слово и позиционный аргумент в Python

Зачем изучать Python Программирование и разработка

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

Типы аргументов

  • Аргумент только из ключевого слова
  • Позиционный аргумент

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

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

передать аргумент (или значения).

Порядок значений нельзя изменить во избежание

неожиданный выход.

Синтаксис: — Синтаксис: —

Аргументы только из ключевых слов

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

Преимущества использования аргументов Keyword по сравнению с позиционными аргументами

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

Давайте посмотрим на пример для аргумента, состоящего только из ключевых слов, как описано ниже:

Пример

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

Python3

def nameAge(name, age):
    print("Hi, I am", name)
    print("My age is ", age)
nameAge(name="Prince", age=20)
nameAge(age=20, name="Prince")

Вывод

Hi, I am Prince
My age is  20
Hi, I am Prince
My age is  20

Позиционные аргументы

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

Давайте посмотрим примеры для позиционных аргументов, как объяснено ниже:

Пример 1

Во время вызова функции мы использовали Position так, что первый аргумент (или значение) будет назначен name, а второй аргумент (или значение) будет назначен age. При изменении позиции или в случае, если вы забыли порядок позиции, значения могут использоваться в неправильных местах, как мы видим в приведенном ниже примере случая 2, что 20 было присвоено имени, а Принц был назначен на возраст.

Python3

def nameAge(name, age):
    print("Hi, I am", name)
    print("My age is ", age)
# You will get correct output because argument is given in order
print("Case-1:")
nameAge("Prince", 20)
# You will get incorrect output because argument is not in order
print("\nCase-2:")
nameAge(20, "Prince")

Вывод

Case-1:
Hi, I am Prince
My age is  20

Case-2:
Hi, I am 20
My age is  Prince

Пример 2

Во время вызова функции мы использовали позицию для передачи аргумента (или значения), так что первое значение будет присвоено a, а второе значение будет присвоено b. Но в результате2 вы получите неправильный вывод, потому что в объявлении функции b должно быть вычтено из a, но в результате2 a вычтено из b из-за переставленной позиции.

Python3

def minus(a, b):
    return a - b
a, b = 20, 10
result1 = minus(a, b)
print("Used Positional arguments:", result1)
# you will get incorrect output because
# expected was (a-b) but you will be getting (b-a)
# because of swapped position of value a and b
result2 = minus(b, a)
print("Used Positional arguments:", result2)

Вывод

Используемые позиционные аргументы: 10

Используемые позиционные аргументы: −10

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

Читайте также:  Лучший язык программирования для создания игр
Оцените статью
bestprogrammer.ru
Добавить комментарий

Adblock
detector