网站建设 qq业务网制作,河南中英网站建设,苏州外贸网站建设制作方案,网页设计策划书方案python内置函数 P
Python 解释器内置了很多函数和类型#xff0c;任何时候都能使用。
P
名称描述pow计算一个数的幂。print在控制台上输出文本或变量的值。property创建属性#xff08;attribute#xff09;的内置函数。
pow(base, exp, modNone)
pow() 是 Python 中的…python内置函数 P
Python 解释器内置了很多函数和类型任何时候都能使用。
P
名称描述pow计算一个数的幂。print在控制台上输出文本或变量的值。property创建属性attribute的内置函数。
pow(base, exp, modNone)
pow() 是 Python 中的一个内置函数用于计算一个数的幂。这个函数接受两个参数第一个参数是基数第二个参数是指数并返回基数的指数次幂。
返回 base 的 exp 次幂如果 mod 存在则返回 base 的 exp 次幂对 mod 取余比 pow(base, exp) % mod 更高效。 两参数形式 pow(base, exp) 等价于乘方运算符: base**exp。
参数必须为数值类型。 对于混用的操作数类型则适用二元算术运算符的类型强制转换规则。 对于 int 操作数结果具有与操作数相同的类型转换后除非第二个参数为负值在这种情况下所有参数将被转换为浮点数并输出浮点数结果。 例如pow(10, 2) 返回 100但 pow(10, -2) 返回 0.01。 对于 int 或 float 类型的负基和一个非整数的指数会产生一个复数作为结果。 例如 pow(-9, 0.5) 返回一个接近于 3j 的值。
对于 int 操作数 base 和 exp如果给出 mod则 mod 必须为整数类型并且 mod 必须不为零。 如果给出 mod 并且 exp 为负值则 base 必须相对于 mod 不可整除。 在这种情况下将会返回 pow(inv_base, -exp, mod)其中 inv_base 为 base 的倒数对 mod 取余。
下面的例子是 38 的倒数对 97 取余: pow(38, -1, mod97)
2323 * 38 % 97 1
True在 3.8 版本发生变更: 对于 int 操作数三参数形式的 pow 现在允许第二个参数为负值即可以计算倒数的余数。
在 3.8 版本发生变更: 允许关键字参数。 之前只支持位置参数。
# 计算 2 的 3 次方
result pow(2, 3)
print(result) # 输出8 # 计算 5 的 0 次方
result pow(5, 0)
print(result) # 输出1任何非零数的 0 次方都是 1# 计算负数的偶数次方
result pow(-2, 2)
print(result) # 输出4-2 的平方是 4 # 计算负数的奇数次方
result pow(-2, 3)
print(result) # 输出-8-2 的立方是 -8# 计算 (2^3) mod 7
result pow(2, 3, 7)
print(result) # 输出1因为 2^3 8而 8 mod 7 1print(*objects, sep’ , end‘\n’, fileNone, flushFalse)
将 objects 打印输出至 file 指定的文本流以 sep 分隔并在末尾加上 end。 sep 、 end 、 file 和 flush 必须以关键字参数的形式给出。
所有非关键字参数都会被转换为字符串就像是执行了 str() 一样并会被写入到流以 sep 分隔并在末尾加上 end。 sep 和 end 都必须为字符串它们也可以为 None这意味着使用默认值。 如果没有给出 objects则 print() 将只写入 end。
file 参数必须是一个具有 write(string) 方法的对象如果参数不存在或为 None则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串因此 print() 不能用于二进制模式的文件对象。 对于这些对象应改用 file.write(...)。
输出缓冲通常由 file 确定。 但是如果 flush 为真值流将被强制刷新。
在 3.3 版本发生变更: 增加了 flush 关键字参数。
print(apple, banana, cherry, sep, )
print(This is the first line., end)
print(This is on the same line.)# 输出结果
apple, banana, cherry
This is the first line.This is on the same line.property(fgetNone, fsetNone, fdelNone, docNone)
class property(fgetNone, fsetNone, fdelNone, docNone)
property()函数是用于创建属性attribute的内置函数。属性允许你将一个方法通常是getter、setter和deleter方法作为一个类的实例属性来访问。
返回 property 属性。
fget 是获取属性值的函数。 fset 是用于设置属性值的函数。 fdel 是用于删除属性值的函数。并且 doc 为属性对象创建文档字符串。
一个典型的用法是定义一个托管属性 x:
class C:def __init__(self):self._x Nonedef getx(self):return self._xdef setx(self, value):self._x valuedef delx(self):del self._xx property(getx, setx, delx, Im the x property.)如果 c 为 C 的实例c.x 将调用 getterc.x value 将调用 setter del c.x 将调用 deleter。
如果给出doc 将成为该 property 属性的文档字符串。 否则该 property 将拷贝 fget 的文档字符串如果存在。 这令使用 property() 作为 decorator 来创建只读的特征属性可以很容易地实现:
class Parrot:def __init__(self):self._voltage 100000propertydef voltage(self):Get the current voltage.return self._voltageproperty 装饰器会将 voltage() 方法转化为一个具有相同名称的只读属性 “getter”并将 voltage 的文档字符串设为 “Get the current voltage.”
getter
setter
deleter
特征属性对象具有 getter, setter 和 deleter 方法它们可用作装饰器来创建该特征属性的副本并将相应的访问函数设为所装饰的函数。 这最好是用一个例子来说明
class C:def __init__(self):self._x Nonepropertydef x(self):Im the x property.return self._xx.setterdef x(self, value):self._x valuex.deleterdef x(self):del self._x上述代码与第一个例子完全等价。 注意一定要给附加函数与原始的特征属性相同的名称 (在本例中为 x。)返回的特征属性对象同样具有与构造器参数相对应的属性 fget, fset 和 fdel。
在 3.5 版本发生变更: 特征属性对象的文档字符串现在是可写的。
class Person:def __init__(self, name):self._name namepropertydef name(self):Getter for name.return self._namename.setterdef name(self, value):Setter for name.if not isinstance(value, str):raise TypeError(Name must be a string.)self._name valuename.deleterdef name(self):Deleter for name.del self._name# 使用示例
p Person(Alice)
print(p.name) # 输出: Alicep.name Bob # 设置新的名字
print(p.name) # 输出: Bobdel p.name # 删除名字属性在这个例子中Person类有一个私有属性_name和一个通过property装饰器创建的公有属性name。name属性有一个getter方法用于读取属性的值一个setter方法用于设置属性的值和一个deleter方法用于删除属性。
当你尝试访问p.name时会调用getter方法当你尝试设置p.name Bob时会调用setter方法当你尝试删除del p.name时会调用deleter方法。
参考内置函数 — Python 3.12.2 文档