您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的幂运算-我应该更喜欢**运算符,而不是math.pow和math.sqrt吗?

Python中的幂运算-我应该更喜欢**运算符,而不是math.pow和math.sqrt吗?

math.sqrt是平方根的C实现,因此与使用**实现Python内置pow函数的运算符不同。因此,使用math.sqrt实际给出的答案与使用**运算符给出的答案不同,并且确实有一个计算上的原因比内置函数更偏向于numpy或采用math模块实现。特别是,sqrt函数可能以最有效的方式实现,而**在大量的基数和指数上运行,并且对于平方根的特定情况可能未进行优化。另一方面,内置pow函数可以处理一些额外的情况,例如“复数,无穷整数幂和模幂”。

有关**和之间的区别的更多信息,请参见此堆栈溢出问题math.sqrt

关于哪个更“ Pythonic”,我认为我们需要讨论该词的确切定义。从官方Python词汇表中可以看出,如果某段代码或构想“紧紧遵循Python语言最常见的习惯用法,而不是使用其他语言的通用概念来实现代码”,则该代码或构想就是Pythonic。在我能想到的每种其他语言中,都有一些具有基本平方根函数的数学模块。但是,有些语言缺少像**C ++这样的幂运算符。所以,**可能是更Python,但它是否是客观的更好取决于所使用的情况。

python 2022/1/1 18:35:42 有228人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶