小树林探索者 发表于 2021-2-5 14:55:24

关于decimal

random.randint和decimal.Decimal中的“.“是什么意思?
decimal.Decimal和decimal.decimal有什么区别吗?

Twilight6 发表于 2021-2-5 15:02:46


random.randint和decimal.Decimal中的“.“是什么意思?

. 是调用前者的属性或者方法(或称函数),xxx.ppp() 就是调用 xxx 对象的 ppp 方法(函数)

decimal.Decimal和decimal.decimal有什么区别吗?

需要注意 Python 是大小写敏感的编程语言,所以当然有区别

Decimal 是 decimal 模块中的一个方法(函数),而你 decimal 模块中没有 decimal 方法或者属性,这样调用就会报错

_2_ 发表于 2021-2-5 15:07:31

"." 操作符是访问模块(不仅仅是)的一个表示罢了,randint() 是 random 模块定义的一个函数,如果你想使用它就得用"."
Decimal 是 decimal 这个模块定义的一个类,即定义类(通常首字母大写),小写的可能是一个属性或者方法了(避免命名冲突)

小树林探索者 发表于 2021-2-5 15:13:07

Twilight6 发表于 2021-2-5 15:02
. 是调用前者的属性或者方法(或称函数),xxx.ppp() 就是调用 xxx 对象的 ppp 方法(函数)




decimal.Decimal("0.1")为什么需要用字符串来表示数字?

Twilight6 发表于 2021-2-5 15:18:20

小树林探索者 发表于 2021-2-5 15:13
decimal.Decimal("0.1")为什么需要用字符串来表示数字?



因为字符串可以准确表示数值字符串,不会产生误差,而浮点数本身就存在误差

运行下方代码你就大致可以理解了:

import decimal

print(decimal.Decimal('0.1')+decimal.Decimal('0.7'))
print(decimal.Decimal(0.1)+decimal.Decimal(0.7))

小树林探索者 发表于 2021-2-5 15:21:53

Twilight6 发表于 2021-2-5 15:18
因为字符串可以准确表示数值字符串,不会产生误差,而浮点数本身就存在误差

运行下方代码你就大 ...

浮点数就是指小数吗?

Twilight6 发表于 2021-2-5 15:23:15

小树林探索者 发表于 2021-2-5 15:21
浮点数就是指小数吗?



对的
页: [1]
查看完整版本: 关于decimal