Python日常問題集錦

is 與 ==

  • ==就是判斷兩個變量值是否相等.
    a = 'test' 
    b = 'test' 
    a == b True`
    
  • is 判斷變量在內存中的位置值是否相等
    >> a = 256
    >> b = 256 
    >> a is b 
    True
    # 特別注意 :==Python把可能頻繁使用的整數對象規定在範圍[-5, 256)。比如下面的例子內存地址就不同了。
    >> a = 257
    >> b = 257
    >> id(a)
    4996889200
    >> id(b)
    4996889072
    >> a is b
    False
    

小數點後移的精度問題

問題

# 目標是0.82轉爲0.0082
>>  float('0.82') * 0.01
0.008199999999999999

解決

  1. 百度了下,說可以使用如下方法:Decimal提高精度,
# Decimal爲了更好運算最好給它input一個字符串格式的數值
>> Decimal('0.82') * Decimal('0.01')
Decimal('0.0082')

補充:若係數爲整數,如1、10、100可以直接

>> Decimal('0.82') * 100
Decimal('82.00')
>> Decimal(6)/ Decimal(7)
Decimal('0.8571428571428571428571428571')
# 不要這麼用
>> Decimal('6/7')
decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章