python中的round内建函数
今天又扫了一遍数字这一章.. 看到了round()函数, 是在python核心编程思想的5.6.2节的末尾, 原文如下:
round(flt, ndig=0) 接受一个浮点数 flt 并对其四舍五入,保存 ndig位小数。
若不提供ndig 参数,则默认小数点后0位。
round()仅用于浮点数。(译者注:整数也可以, 不过并没有什么
实际意义)
其实, 做个实验就知道, round()对整数也是有用的, 第二个参数ndig是一个相对偏移. 是相对于小数点那个位置来说的, 向右, 也就是小数部分, 正数来表示, 向左, 也就是整数部分, 用负数来表示.
比如:
round(345, -1) = 350.0
round(345, -3) = 0.0
round(345, 0) = 345.0
round(345.2345, 2) = 345.23000000000002
345.2345四舍五入到小数点后两位, 怎么会成这样呢??
这个是精度问题引起的, 不细究. 我们引入decimal模块后, 使用decimal.Decimal(str(round(345.2345, 2)))就可以看出精确的值了. 是Decimal("345.23")...
明天发布下一集...呵呵, 还是数字相关的....谢谢各位朋友...
相关文档:
两种不同的语言,不同的表达!
Python脚本实现.
""
"
File Name : clean.py
File Date : 2009/11/5 14:22:56
Author : DannyLai
Purpose : Cle ......
一个有趣的网站:
http://www.pythonchallenge.com/
集娱乐与学习于一体,在开动脑筋闯关的过程中,不但扩展了思维,还对Python加深了理解。
一共33关,每闯过一关都可以在提示下查看作者给出的Solution。
第0关(指导关):
出现一幅画面,上面写着2**38,教你如何进入下一关。
&nb ......
import os
import unittest # 包含单元测试模块
import sqlite3 as sqlite # 包含sqlite3模块
def get_db_path():
return "sqlite_testdb"
class TransactionTests(unittest.TestCase): # 单元测试第一步: 由TestCase派生类
def setUp(self): # 单元测试环境配置
......
http://chardet.feedparser.org/ 自动检测编码
http://effbot.org/zone/celementtree.htm cElementTree
http://github.com/jaybaird/python-bloomfilter bloomfilter
http://docs.python.org/library/threading.html#threading.activeCount threading ......
在python中如何创建一个线程对象
如果你要创建一个线程对象,很简单,只要你的类继承threading.Thread,然后在__init__里首先调用threading.Thread的__init__方法即可
import threading
class mythread(threading.Thread):
def __init__(self, threadname):
& ......