import decimal # Decimals
a=decimal.getcontext().copy()
print a
有用的是什么。
答案 0 :(得分:7)
我正在回答假设一个新手。
“a”是一个变量。变量是一个逻辑单元,在执行程序时将值/字符串等保留在计算机的内存中。作为一个例子,如果你要添加1和2并得到答案,你应该在内存中创建一个“变量”说“a”并为“a”分配值1 + 2
在此代码中,您导入了一个名为decimal的库。它包含一组操作或方法。然后对它执行一些操作并将输出分配给名为“a”的变量。然后你试图将它打印到控制台。
N.B:你不应该使用像a,b那样的变量名。这不是一个好习惯。你应该使用一个有意义的词。
答案 1 :(得分:4)
虽然我同意这里的许多其他评论,但我认为我会抛出一块骨头。
decimal
模块是一个用于对任意精度数进行算术运算的实用程序。这在某些科学背景下用于对遭受舍入误差的事物进行计算。经典的例子是对第9999个数字进行计算。你不能用花车那样做。
十进制库使用“上下文”的概念来决定您真正想要的精度。由于您想要的精度越高,计算运行的速度就越慢。 decimal.getcontext()
部分返回默认上下文。但是通过一个疯狂的“陷阱”(我实际上已经成为牺牲品),这实际上只是一个指针。因此,如果您要使用decimal.setcontext('foo')
更改上下文,您实际上也会更改a
。该模块有一个.copy()
方法。
原始程序员可能这样做是为了保存上下文的副本供以后使用。也许他/她想以较低的精度执行一部分计算以节省时间,然后想要以更高的精度执行难度部分。
虽然在python> 2.5最好使用像'with'
这样的上下文管理器from decimal import localcontext
with localcontext() as ctx:
ctx.prec -= 5 # Perform a low precision calculation
s = calculate_something()
s = +s # Round the final result back to the default precision
但是如果没有其他相关代码,我的猜测并不比你的好。
虽然我已经使用了十进制模块,但在python docs here中很容易找到所有这些。试着去那里先找一下这样的问题...如果你能弄清楚自己,你会记得更久。当我们回答问题时,你会感受到我们其他人所感受到的那种温暖的感觉。
答案 2 :(得分:3)
a是变量的名称,你可以轻松放入
import decimal # Decimals
print decimal.getcontext().copy()
删除对a
答案 3 :(得分:1)
我认为答案是在这种特殊情况下,a没有用处
然而,在更大的方案中,如果你需要使用
的值a=decimal.getcontext().copy()
再次,那么你不想重新计算它,因为这个功能可能会改变,也可能是一个昂贵的操作。