这篇文章主要介绍了python中pow使用内置调用的示例,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
pow() 方法返回 xy(x 的 y 次方) 的值。
math 模块 pow() 方法的语法:
import math math.pow(x, y)
内置的 pow() 方法:
pow(x, y[, z])
函数是计算 x 的 y 次方,如果 z 在存在,则再对结果进行取模,其结果等效于 pow(x,y) %z。
注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。
举例:
# pow(base, exp[, mod]) # pow power exp exponent mod module # 返回 base 的 exp 次幂;如果 mod 存在,则返回 base 的 exp 次幂对 mod 取余(比 pow(base, exp) % mod 更高效)。 两参数形式 pow(base, exp) 等价于乘方运算符: base**exp。 # 返回 base 的 exp 次幂; print(f'{ pow(2, 3) = }') print(f'{ pow(10, 2) = }') # 两参数形式 pow(base, exp) 等价于乘方运算符: base**exp。 print(f'{ 2**3 = }') print(f'{ 10**2 = }') # 如果 mod 存在,则返回 base 的 exp 次幂对 mod 取余(比 pow(base, exp) % mod 更高效) # 如果mod存在,会使用快速幂取模的算法来取模 import time start = time.time() print(f'{ pow(1234, 1234567, 67) = }') end = time.time() print(f' 耗时:{ end - start = } ') # start = time.time() # print(f'{ pow(1234, 1234567) % 67 = }') # end = time.time() # print(f' 耗时:{ end - start = } ') # # 参数必须具有数值类型。 对于混用的操作数类型,则将应用双目算术运算符的类型强制转换规则。 对于 int 操作数,结果具有与操作数相同的类型(强制转换后),除非第二个参数为负值;在这种情况下,所有参数将被转换为浮点数并输出浮点数结果。 例如,10**2 返回 100,但 10**-2 返回 0.01。 # 参数必须具有数值类型 # print(f'{ pow(2, "3") = }') # 对于混用的操作数类型,则将应用双目算术运算符的类型强制转换规则。 print(f'{ pow(2.0, 3) = }') # 对于 int 操作数,结果具有与操作数相同的类型(强制转换后),除非第二个参数为负值;在这种情况下,所有参数将被转换为浮点数并输出浮点数结果。 print(f'{ pow(2, 3) = }') print(f'{ pow(2, -3) = }') # # 对于 int 操作数 base 和 exp,如果给出 mod,则 mod 必须为整数类型并且 mod 必须不为零。 如果给出 mod 并且 exp 为负值,则 base 必须相对于 mod 不可整除。 在这种情况下,将会返回 pow(inv_base, -exp, mod),其中 inv_base 为 base 的倒数对 mod 取余。 # # 对于 int 操作数 base 和 exp,如果给出 mod,则 mod 必须为整数类型并且 mod 必须不为零。 # print(f'{ pow(2, 3, 0) = }') # 下面的例子是 38 的倒数对 97 取余: # # >>> # >>> pow(38, -1, mod=97) # 23 # >>> 23 * 38 % 97 == 1 # True # 在 3.8 版更改: 对于 int 操作数,三参数形式的 pow 现在允许第二个参数为负值,即可以计算倒数的余数。 # # 在 3.8 版更改: 允许关键字参数。 之前只支持位置参数。
感谢你能够认真阅读完这篇文章,希望小编分享python中pow使用内置调用的示例内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。