Python 中的 ** 运算符是什么?
在本文中,我们将学习 Python 中的 ** 运算符。
双星号 (**) 是 Python 中的一种算术运算符(例如 +、-、*、**、/、//、%)。它也被称为幂运算符。
算术运算符的顺序/优先级是什么?
算术运算符和数学运算符的规则相同,如下所示:首先执行指数运算,然后是乘法和除法,最后是加法和减法。
以下是按递减顺序排列的算术运算符的优先级:
() >> ** >> * >> / >> // >> % >> + >> -
双星号 (**) 运算符的用途
将 ** 用作幂运算符
它也用于对数值数据执行幂运算。
示例
下面的程序演示了在表达式中使用 ** 运算符作为幂运算符:
# using the double asterisk operator as an exponential operator x = 2 y = 4 # getting exponential value of x raised to the power y result_1 = x**y # printing the value of x raised to the power y print("result_1: ", result_1) # getting the resultant value according to the # Precedence of Arithmetic Operators result_2 = 4 * (3 ** 2) + 6 * (2 ** 2 - 5) print("result_2: ", result_2)
输出
执行上述程序后,将生成以下输出:
result_1: 16
result_2: 30
在函数和方法中使用 ** 作为参数
双星号也称为函数定义中的 **kwargs。它用于将可变长度的关键字字典传递给函数。
我们可以使用一个简单的函数打印 **kwargs 参数,如下例所示:
示例
下面的程序演示了在用户自定义函数中使用 kwargs:
# creating a function that prints the dictionary of names. def newfunction(**kwargs): # traversing through the key-value pairs if the dictionary for key, value in kwargs.items(): # formatting the key, values of a dictionary # using format() and printing it print("My favorite {} is {}".format(key, value)) # calling the function by passing the any number of arguments newfunction(language_1="Python", language_2="Java", language_3="C++")
输出
执行上述程序后,将生成以下输出:
My favorite language_1 is Python My favorite language_2 is Java My favorite language_3 is C++
借助 **kwargs,我们可以轻松地在代码中使用关键字参数。最好的部分是,当我们使用 **kwargs 作为参数时,我们可以向函数传递大量参数。当参数列表中的输入数量预期相对较少时,创建接受 **kwargs 的函数是最佳选择。
结论
本文介绍了 Python 的 ** 运算符。我们学习了 Python 编译器中运算符的优先级,以及如何使用 ** 运算符,它充当 kwargs 的作用,可以接受函数的任意数量的参数,也可用于计算幂。
广告