python 浮点数运算

Python 官方简明教程
出自Ubuntu中文
可以到查看更新更专业的翻译版本
Python是一个简单易学、功能强大的编程语言。它拥有高效的高层次数据结构和简洁有效的面向对象程序设计支持。Python的优美语法和动态类型,与其解释执行的本性一起,使之成为了一个能在大多数平台和众多领域中编写脚本和快速程序开发的理想语言。
在Python的官方网站
,可以自由获取所有主流平台上的Python解释器和丰富的标准库的代码和二进制文件,而且可以自由分发。这个网站也提供许多第三方Python模块、程序和附加文档,或者包含指向其的链接。
很容易使用C或C++(或其他可从C语言调用的语言)来扩展Python解释器的函数和数据类型。Python也适合于作为可定制应用程序的扩展语言。
本教程向读者非正式地介绍Python语言的基本概念和特性。本教程将让您可随时动手使用Python解释器。所有的例子都是独立的,所以本教程也可以从任意章节开始阅读。
关于标准对像和模块的说明,请参考《Python标准库》。《Python语言参考》对Python语言给出了更正式的定义。要使用C或C++编写扩展,请参考《扩展和嵌入Python解释器》以及《Python/C API参考手册》。也有一些书籍详细讲解了Python。
本教程不准备全面详尽地介绍Python的每一特性,甚或每一常用特性。本教程介绍Python中一些最值得注意的特性,描绘Python语言的特色和风格。阅读本教程之后,您将可以读懂和编写Python模块和程序,在此基础上,您将可以在《Python标准库》中学习更多的关于各个Python模块的内容。
词汇表也是值得浏览的。
可以到查看更新更专业的翻译版本
(带链接为已翻译完成的本站wiki页面)
2.1. Invoking the Interpreter
2.1.1. Argument Passing
2.1.2. Interactive Mode
2.2. The Interpreter and Its Environment
2.2.1. Error Handling
2.2.2. Executable Python Scripts
2.2.3. Source Code Encoding
2.2.4. The Interactive Startup File
3.1. Using Python as a Calculator
3.1.1. Numbers
3.1.2. Strings
3.1.3. About Unicode
3.1.4. Lists
3.2. First Steps Towards Programming
4.1. if Statements
4.2. for Statements
4.3. The range() Function
4.4. break and continue Statements, and else Clauses on Loops
4.5. pass Statements
4.6. Defining Functions
4.7. More on Defining Functions
4.7.1. Default Argument Values
4.7.2. Keyword Arguments
4.7.3. Arbitrary Argument Lists
4.7.4. Unpacking Argument Lists
4.7.5. Lambda Forms
4.7.6. Documentation Strings
4.8. Intermezzo: Coding Style
5.1. More on Lists
5.1.1. Using Lists as Stacks
5.1.2. Using Lists as Queues
5.1.3. List Comprehensions
5.1.4. Nested List Comprehensions
5.2. The del statement
5.3. Tuples and Sequences
5.5. Dictionaries
5.6. Looping Techniques
5.7. More on Conditions
5.8. Comparing Sequences and Other Types
6.1. More on Modules
6.1.1. Executing modules as scripts
6.1.2. The Module Search Path
6.1.3. “Compiled” Python files
6.2. Standard Modules
6.3. The dir() Function
6.4. Packages
6.4.1. Importing * From a Package
6.4.2. Intra-package References
6.4.3. Packages in Multiple Directories
7.1. Fancier Output Formatting
7.1.1. Old string formatting
7.2. Reading and Writing Files
7.2.1. Methods of File Objects
7.2.2. The pickle Module
8.1. Syntax Errors
8.2. Exceptions
8.3. Handling Exceptions
8.4. Raising Exceptions
8.5. User-defined Exceptions
8.6. Defining Clean-up Actions
8.7. Predefined Clean-up Actions
9.1. A Word About Names and Objects
9.2. Python Scopes and Namespaces
9.2.1. Scopes and Namespaces Example
9.3. A First Look at Classes
9.3.1. Class Definition Syntax
9.3.2. Class Objects
9.3.3. Instance Objects
9.3.4. Method Objects
9.4. Random Remarks
9.5. Inheritance
9.5.1. Multiple Inheritance
9.6. Private Variables
9.7. Odds and Ends
9.8. Exceptions Are Classes Too
9.9. Iterators
9.10. Generators
9.11. Generator Expressions
10.1. Operating System Interface
10.2. File Wildcards
10.3. Command Line Arguments
10.4. Error Output Redirection and Program Termination
10.5. String Pattern Matching
10.6. Mathematics
10.7. Internet Access
10.8. Dates and Times
10.9. Data Compression
10.10. Performance Measurement
10.11. Quality Control
10.12. Batteries Included
11.1. Output Formatting
11.2. Templating
11.3. Working with Binary Data Record Layouts
11.4. Multi-threading
11.5. Logging
11.6. Weak References
11.7. Tools for Working with Lists
11.8. Decimal Floating Point Arithmetic
13.1. Line Editing
13.2. History Substitution
13.3. Key Bindings
13.4. Alternatives to the Interactive Interpreter
14.1. Representation Error
————&  &————jazka 的BLOG
用户名:jazka
文章数:139
评论数:188
访问量:565786
注册日期:
阅读量:3533
阅读量:9904
阅读量:1117
阅读量:506
51CTO推荐博文
1. 除法运算:整数相除,结果只留整数,除非1)用浮点数2)明确python除法执行方式:from __future__ import division&&& 1/202. 整除运算(include float)://&&& 5.0//22.03. 取余运算(including float): %&&& 2.75%0.50.254. 幂运算(include float): **&&& (-2.0)**24.05. 长整型数:L6. 变量不能以数字开头,使用之前赋值7. 单引号字符串和转义引号:&&& "Let's go!""Let's go!"&&& 'lets go!''lets go!'&&& 'Let\'s say \"hello world!\"''Let\'s say "hello world!"'8. 字符串拼接:+, 字符串和数字不可以直接拼接&&& print "tmp is " + tmpTraceback (most recent call last): &File "&stdin&", line 1, in &module&TypeError: cannot concatenate 'str' and 'int' objects&&& print "tmp is %d" % tmptmp is 2&&& print "tmp is " + str(tmp)tmp is 29. 长字符串使用三个单引号或者三个双引号,中间可以包含单引号和双引号10. 原始字符串:以r开头,最后一个字符不能是反斜线,除非进行转义11. Unicode字符串:以u为前缀12. 常用函数raw_input(prompt): 获取用户输入,返回类型为字符串,尽量使用raw_inputint(object): 将数字字符串和数字转换为整数long(object): 将数字字符串和数字转换为长整型数float(object): 将数字字符串和数字转换浮点数str(object): 将值转换为合适形式的字符串repr(object): 返回值的字符串表示本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)页面导航:
→ 正文内容 Python小数除法运算
Python对小数进行除法运算的正确方法示例
这篇文章主要介绍了Python对小数进行除法运算的正确方法示例,正确的方法是需要转换成浮点数,否则永远不会得到正确结果,需要的朋友可以参考下
求一个算式
print c*(a/b)
运行结果总是0,反复检查拆开以后,发现在Python里,整数初整数,只能得出整数。
也就是 a 除 b 这个结果永远是0,只要把a或者b其中一个数改成浮点数即可。
print c*(a/float(b))
print c*(float(a)/b)
这样才能准确算出a除b的正确结果,当然,如果a比b大,并且不需要小数位数部分可以不用float。
print c/a # 3
print c/b # 1
print c/float(b )# 1.5
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910你的位置: >
> Python学习(3) 数字和布尔型
在Python中,数字和布尔型属于不可变对象。在定义后,不能修改实例值。在Python中,所有变量名都是对指向实例的指针。
在Python中,数字没有其它语言那么多种类,但却多了一个复数和分数类型,这个在数学中还是比较有用的。至于布尔型,在Python2中是没有布尔型的,它用数字0表示False,用1表示True。到Python3中,把True和False定义成关键字了,但它们的值还是1和0,它们可以和数字相加。
数字的种类
在Python中,基本的数字类型有三种,整数型(无限精度)、浮点型(8byte,和Java的double一样)、以及复数型。
另外通过引用,可以引入十进度数字和分数,它们的类路径分别为decimal.Decimal和fractions.Fraction。
数字的写法
Python的整数型有四种写法:二进制、八进制、十进制、十六进制
Python的浮点型有两种写法:直接写数字或者科学计数法
Python的复数型只有一种写法:a+bj,其中a为0时可以写成bj,b为1时也必须写,比如:3+j是错误的,要写成3+1j。
from decimal import Decimal
from fractions import Fraction
#整数型写法
intvalb = 0b1111
intvalb = 0B1111
# 15 B的大小写不区别
intvalo = 0o12
intvalo = 0O12
# 10 O的大小写不区别
intvald = 12
intvalh = 0x12
intvalh = 0X12
# 18 X的大小写不区别
#浮点型写法
floata = 123.0
# 123.0 整数值想定义成浮点数要在后面加小数点和0
floatb = 123.0
floatc = 123.0e12
floatc = 123.0E12
floatc = 1.23e12
floatc = 1.23E12
wa = 1 + 2j
wa = 1 + 1j
#十进度数写法
d = Decimal("1234.12")
f = Fraction(1, 4)
f = Fraction(Fraction(1, 4), Fraction(1, 3))
f = Fraction(Fraction(1, 4), 3)
f = Fraction("0.1")
f = Fraction(0.5)
f = Fraction("1/2")
数字的运算符
以上的五种数字都支持以下运算符:负号(-),加法(+),减法(-),乘法(*),除法(/),平方(**)
以上的五种数字都支持以下布尔运算符:或(or) 与(and) 取反(not) 等于(==)
复数以外的四种支持以下运算符:真除运算符(//),大于(>),小于(&)
整数支持所有位运算符:按位于(&),按位或(|),按位异或(^),按位取反(~),位左移(&&),位右移(>>)
1. 因为Python自动支持大整数,所以在整数位移操作中,不会出现符号变换(Java和C中会出现)
2. 布尔运算符的计算法则可以参考最下面的“布尔型的介绍部分”
真除是指除数除以被除数后,结果取其整数部分。其中如果除数或者被除数为浮点数,其结果为浮点数;除数和被除数为十进制数。浮点数,分数,十进数之间好像没有实现整除。如:
from decimal import Decimal
from fractions import Fraction
print (3 // 2)
print (3 // 2.0)
print (3 // Fraction(2, 3))
print (Fraction(2, 3) // Fraction(2, 5))
print (3 // Decimal("1.3"))
print (Decimal("2.7") // Decimal("1.3"))
因为整数是无限长度的,所以不存在精度问题。
浮点数有精度问题,但当只做浮点数运算时,精度问题也可以忽略不计。但当浮点数转十进制数或者分数时,精度问题就要考虑了,可以先把浮点数转成字符串,再转为十进制数或者分数。
至于十进度数字,我们可以自己定义精度。
import decimal
from fractions import Fraction
print(Fraction(f))
print(Fraction(str(f)))
print(decimal.Decimal(f))
print(decimal.Decimal(str(f)))
#自定义十进制精度
decimal.getcontext().prec = 100
print(decimal.Decimal("1") / decimal.Decimal("3"))
数字相关的方法
数字相关的方法主要在Math模块中,可以通过Python的API来查看相关方法。比如Python3.4的API地址如下:
布尔型的介绍
Python的布尔值有两个True和False,但Python的If语句和布尔运算符不仅仅支持布尔型,也支持其它类型。
比如数字0会做为False处理,0以外的值做为True处理(浮点数因为精度问题,判断时要小心,比如0.3-0.1-0.2的结果就不是0);字符串空串做为False处理,空串以外为True。字典、列表、元组的元素为0时做为Flase处理,元素个数大于0时,做为True处理。自己定义的类里,可以通过定义bool函数,来实现布尔值的判断。
布尔运算符的取反(not)和等于(==)总返回布尔型。或(or)运算符,当第一个值为True时返回第一个值,否则返回第二个值。与(and)运算符,当第一个值为False时,返回第一个值,否则返回第二个值。
转载请注明: &
与本文相关的文章

我要回帖

更多关于 python浮点数精度 的文章

 

随机推荐