Автор оригинала: Shubham Sayon.
Резюме: Оператор Double Asterisk имеет следующее использование:
- A ** B – Экспонирование Отказ
- def f (** kwargs) – Распаковка: Определение произвольного количества аргументов ключевых слов.
- F (** D) – Словарь Распаковывать Отказ
- F (** D1, ** D2) – Слияния слияния Отказ
При использовании функции в вашей программе вы можете не уверены в количестве названных аргументов, которые должны быть переданы в функцию. Цель этой статьи заключается в руководстве и поможет вам справиться с такими ситуациями. Давайте погрузимся в дискуссию на двойной оператор звездочки в Питоне сразу.
Использование двойной звездочки (**) в Python
** может иметь разные значения в разных сценариях. Это приводит нас к вопросу, Когда Используйте ** Оператор в Python?
Есть разные ответы на этот вопрос. Давайте обсудим их один за другим.
❖ Используется как оператор Exponentiation **
При использовании числовых типов данных для выполнения математических операций, двойная звездочка (**) используется как Экспонирование оператор.
Пример:
a = 5
b = 2
print("a**b = ",a**b)
print("pow(a,b) = ",pow(a,b))Выход:
a**b = 25 pow(a,b) = 25
Приведенный выше пример использует двойные звездочки для расчета «А к власти B» в числовых выражениях в Python.
❖ Используется для принятия арбитражных аргументов ключевых слов ** Kwargs
Если вы не уверены о том, сколько аргументов ключевых слов должны быть переданы в функцию в программе, то вы можете использовать аргумент с двойными звездочками в качестве префикса к аргументу, который позволяет нам пройти произвольное количество аргументов ключевых слов в нашу функцию. Это позволяет функцию получать словарь аргументов, и он может затем получить доступ к пунктам соответственно.
Пример:
def foo(**kwargs):
print("Learn freelancing with {0} using {1}!".format(kwargs["org"],kwargs["tech"]))
foo(org = "Finxter", tech = "Python")Выход:
Learn freelancing with Finxter using Python!
➡ Важно Заметки
◆ Виды аргументов
- Позиционные аргументы – аргументы, которые могут быть вызваны их положением в определении функции. Когда функция, называемая первым позиционным аргументом, должна быть сначала предусмотрена, второй позиционный аргумент должен быть обеспечен вторым, и так далее.
- Аргументы ключевых слов – аргументы, которые можно назвать, используя их имя. Как правило, следует равный знак и выражение, чтобы обеспечить его значение по умолчанию.
Давайте приблизимся к этим аргументам в программе, приведенной ниже.
# a,b required; c optional
def foo(a, b, c = 1):
return a * b + c
print ("positional and default: ",foo(1, 2)) # positional and default
print ("positional: ",foo(1, 2, 3)) # positional
print ("keyword: ",foo(c = 5, b = 2, a = 2)) # keyword
print ("keyword and default: ",foo(b = 2, a = 2)) # keyword and default.
print ("positional and keyword: ",foo(5, c = 2, b = 1)) # positional and keyword.
print ("positional, named and default: ",foo(8, b = 0)) #positional, named and default.Выход:
positional and default: 3 positional: 5 keyword: 9 keyword and default: 5 positional and keyword: 7 positional, named and default: 1
◆ Вы можете использовать любое другое имя вместо кварги с Распаковка оператора (**) в качестве префикса к аргументу. Например, вы можете использовать ** var вместо использования ** kwargs в вашей программе. Таким образом, кварги это только конвенция и часто определяется как сокращенная форма Арбитражные ключевые аргументы В документациях Python.
Пример:
def foo(**var):
print(var)
foo(a=1,b=2,c=3)Выход :
{'a': 1, 'b': 2, 'c': 3}◆ Тонкая разница между * args и ** kwargs.
- В определениях функции одна звездочка
(*) принимает итератор, как список или кортеж и расширяет его в последовательность аргументов, в то время как двойная звездочка (**) принимает только словарь и расширяет его. - * ARGS используется для разрешения произвольного количества аргументов без ключевых слов, а ** Kwargs позволяет произвольному количеству аргументов ключевых слов.
- Также как аргументы не по умолчанию должны быть размещены до того, как аргументы по умолчанию, аналогично ** Kwargs всегда следует размещать после * args. В противном случае Python бросает ошибку. Правильный порядок аргументов:
- Стандартные аргументы
- * args аргументы
- ** Аргументы KWRGS
Пример
def foo(a, b,*args,**kwargs):
print(a+b)
print(args)
print(kwargs)
d = {'name':"FINXTER",'tech':"Python"}
l = [4,5,6,7]
foo(2,3,*l,**d)Выход :
5
(4, 5, 6, 7)
{'name': 'FINXTER', 'tech': 'Python'}Вы можете прочитать больше о едином операторе Asterisk в нашем руководстве в блоге здесь.
❖ Используется для распаковки словаря
Что делает Распаковывать иметь в виду?
Это функция в Python, которая позволяет нам назначать/упаковать все значения/аргументы последовательности в одну переменную.
Пример
def fruits(*args):
for key in args:
print(key)
f = ["Apple", "Mango", "Orange"]
fruits(*f)Выход :
Apple Mango Orange
В приведенном выше примере мы распаковали произвольное количество элементов в одну переменную с помощью оператора *. Теперь, если вы распаковываете словарь, используя один оператор Asterisk, вы получаете только распакованную форму клавиш словаря. Чтобы распаковать ключ, а также ценности вместе, мы используем оператор Double Asterisk! Приведенный ниже пример объясняет это.
Пример:
def Result(**kwargs):
for key in kwargs:
if kwargs[key] > 90:
print(str(key) + " " + str(kwargs[key]))
marks = {"Ben" : 96,
"Emma" : 98,
"Ron" : 89}
Result(**marks)Выход:
Ben 96 Emma 98
❒ Словающие слияния с использованием распаковки словаря
Оператор Double Asterisk может использоваться для объединения двух словарей в Python. Словарь распаковка функции z = {** Dict1, ** Dict2} Создает новый словарь и распаковывает все (ключевые значения) пары в новый словарь. Дублирующиеся ключи автоматически разрешены этим методом.
Пример:
d1 = {'value1': 10, 'value': 20}
d2 = {'value': 30, 'value2': 40}
# Merging d1 and d2
z = {**d1, **d2}
print("MERGED DICTIONARY: ", z)Выход
MERGED DICTIONARY: {'value1': 10, 'value': 30, 'value2': 40}Заключение
Ключ взятки от этой статьи были –
- Используя двойную звездочку в качестве оператора Exponentiation в Python.
- Используя двойную звездочку, чтобы принять произвольное количество аргументов ключевых слов.
- Каковы ключевые слова и позиционные аргументы?
- Что такое распакование словаря?
- Слияние словарей с использованием оператора звездочка.
Теперь, когда это приводит нас к концу этой статьи, и я надеюсь, что эта статья помогла вам освоить концепцию двойной звездочки ** в питоне. Пожалуйста, Подписаться и Оставайтесь настроиться Для более интересных статей!
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Вы можете связаться со мной @: