Python中的**运算符有什么作用?

49 投票
5 回答
71142 浏览
提问于 2025-04-15 15:42

在Python中,这是什么意思:

sock.recvfrom(2**16)

我知道sock是什么,也大概明白recvfrom这个函数的意思,但2**16到底是什么呢?特别是这两个星号/双星号的操作符?


(英文关键词,因为搜索起来比较困难:times-times star-star asterisk-asterisk double-times double-star double-asterisk operator)

5 个回答

7

2的16次方

14

这是一个链接,指向Python的官方文档,里面讲的是如何把运算符(比如加法、减法等)映射到函数上。简单来说,就是你可以把一些常见的数学运算用函数的方式来表示,这样在编程时会更加灵活和方便。

a ** b  =  pow(a,b)
56

这是一个叫做幂运算符的东西。

根据Python 3的文档:

幂运算符的作用和内置的pow()函数是一样的,当你给它两个参数时:它会把左边的数字提升到右边数字的幂。数字参数会先被转换成一种共同的类型,然后结果也会是这种类型。

这就相当于216 = 65536,或者说用代码写就是pow(2, 16)

撰写回答