01、round() 函数
你认为以下代码的结果是什么:
print(round(9/2))
print(round(7/2))
print(round(3/2))
答案:4、4、2
为什么 print(round(7/2)) 输出4 而不是 3,或者为什么 print(round(9/2)) 输出 4 而不是 5?
这是因为,在 python 中,round 函数实现了银行式的四舍五入,其中所有的半值都被四舍五入到最接近的偶数。
02、实例
猜猜输出?
class A:
ans = 9
def __init__(self):
self.answer = 10
self.__add__ = lambda x, y: x.answer + y
def __add__(self, y):
return self.answer - y
print(A() + 4)
答案:6
现在,你一定想知道我们是如何得到 6 的!这是因为,为了解析属性名称,Python 首先在实例级别搜索它,然后,在类级别搜索,然后在父类中搜索。这适用于除 dunder 方法之外的所有内容。在搜索它们时,Python 会跳过实例检查并直接在类中搜索。
因此 (10–4) = 6 就是答案。
03、数学不起作用的地方
猜猜这种情况下的输出?
print(max(-0.0, 0.