Python3 数字Number(六)
Python 数字数据类型用于存储数值。
数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间。
以下实例在变量赋值时 Number 对象将被创建:
- var1 = 1
- var2 = 10
您也可以使用del语句删除一些数字对象的引用。
del语句的语法是:
- del var1[,var2[,var3[....,varN]]]]
您可以通过使用del语句删除单个或多个对象的引用,例如:
- del var
- del var_a, var_b
像大多数语言 一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
- >>> a, b, c, d = 20, 5.5, True, 4+3j
- >>> print(type(a), type(b), type(c), type(d))
- <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
此外还可以用 isinstance 来判断:
- >>>a = 111
- >>> isinstance(a, int)
- True
- >>>
isinstance 和 type 的区别在于:
- class A:
- pass
- class B(A):
- pass
- isinstance(A(), A) # returns True
- type(A()) == A # returns True
- isinstance(B(), A) # returns True
- type(B()) == A # returns False
区别就是:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
Python3 支持 int、float、bool(布尔)、complex(复数)。
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
- 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 布尔(bool) - Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。。在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。
- 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
布尔(bool)
在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
- >>> True
- True
- >>> False
- False
- >>> 3 > 2
- True
- >>> 3 > 5
- False
- #布尔类型可以参与运算
- >>> True+1
- 2
- >>> False+1
- 1
- >>> True==1
- True
- >>> True==2
- False
- >>> False==1
- False
- >>> False==0
- True
布尔值可以用and
、or
和not
运算。
and
运算是与运算,只有所有都为True
,and
运算结果才是True
:
- >>> True and True
- True
- >>> True and False
- False
- >>> False and False
- False
- >>> 5 > 3 and 3 > 1
- True
or
运算是或运算,只要其中有一个为True
,or
运算结果就是True
:
- >>> True or True
- True
- >>> True or False
- True
- >>> False or False
- False
- >>> 5 > 3 or 1 > 3
- True
not
运算是非运算,它是一个单目运算符,把True
变成False
,False
变成True
:
- >>> not True
- False
- >>> not False
- True
- >>> not 1 > 2
- True
布尔值经常用在条件判断中,比如:
- 1 if age >= 18:
- 2 print('adult')
- 3 else:
- 4 print('teenager')
复数( (complex))
复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。如:3+26j
生成一个实数,通过实数转换成复数:
- >>> a=0.9
- >>> b=complex(a)
- >>> b
- (0.9+0j)
- >>>
直接定义一个复数,指令如下:
- >>> c=0.1+0.7j
- >>> c
- (0.1+0.7j)
- >>>
采用.real访问复数的实部:
- >>> d=9+8j
- >>> d.real
- 9.0
- >>>
采用.imag访问复数的虚部:
- >>> d=9+8j
- >>> d.real
- 9.0
- >>> d.imag
- 8.0
- >>>
采用abs求复数的模:
- >>> d=9+8j
- >>> abs(d)
- 12.041594578792296
- >>>
Python 数字类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
int(x) 将x转换为一个整数。
float(x) 将x转换到一个浮点数。
complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
以下实例将浮点数变量 a 转换为整数:
- >>> a = 1.0
- >>> int(a)
- 1
- >>> a=9
- >>> b=8
- >>> complex(a)
- (9+0j)
- >>> complex(a,b)
- (9+8j)
- >>>
Python 数字运算
Python 解释器可以作为一个简单的计算器,您可以在解释器里输入一个表达式,它将输出表达式的值。
表达式的语法很直白: +, -, * 和 / 和其它语言(如Pascal或C)里一样。例如:
- >>> 2 + 2
- 4
- >>> 50 - 5*6
- 20
- >>> (50 - 5*6) / 4
- 5.0
- >>> 8 / 5 # 总是返回一个浮点数
- 1.6
注意:在不同的机器上浮点运算的结果可能会不一样。
在整数除法中,除法(/)总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 // :
- >>> 17 / 3 # 整数除法返回浮点型
- 5.666666666666667
- >>>
- >>> 17 // 3 # 整数除法返回向下取整后的结果
- 5
- >>> 17 % 3 # %操作符返回除法的余数
- 2
- >>> 5 * 3 + 2
- 17
等号(=)用于给变量赋值。赋值之后,除了下一个提示符,解释器不会显示任何结果。
- >>> width = 20
- >>> height = 5*9
- >>> width * height
- 900
Python 可以使用 ** 操作来进行幂运算:
- >>> 5 ** 2 # 5 的平方
- 25
- >>> 2 ** 7 # 2的7次方
- 128
不同类型的数混合运算时会将整数转换为浮点数:
- >>> 3 * 3.75 / 1.5
- 7.5
- >>> 7.0 / 2
- 3.5
在交互模式中,最后被输出的表达式结果被赋值给变量 _ 。例如:
- >>> tax = 12.5 / 100
- >>> price = 100.50
- >>> price * tax
- 12.5625
- >>> price + _
- 113.0625
- >>> round(_, 2)
- 113.06
此处, _ 变量应被用户视为只读变量。
数学函数
函数 | 返回值 ( 描述 ) |
---|---|
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
cmp(x, y) |
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃 。使用 使用 (x>y)-(x<y) 替换。 |
exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0 |
floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,...) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,...) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。 |
round(x [,n]) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
sqrt(x) | 返回数字x的平方根。 |
注意:round函数是个 坑!
- >>> round(10.5)
- 10
- >>> round(11.5)
- 12
- >>>
- round(2.355,2)
- 2.35
除非对精确度没什么要求,否则尽量避开用round()函数。近似计算我们还有其他的选择:
- 使用math模块中的一些函数,比如math.ceiling(天花板除法)。
- python自带整除,python2中是/,3中是//,还有div函数。
- 字符串格式化可以做截断使用,例如 "%.2f" % value(保留两位小数并变成字符串……如果还想用浮点数请披上float()的外衣)。
- 当然,对浮点数精度要求如果很高的话,请用嘚瑟馍,不对不对,请用decimal模块。
关于该问题搜索后解释比较清楚的文章地址如下:http://www.runoob.com/w3cnote/python-round-func-note.html
随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
函数 | 描述 |
---|---|
choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
randrange ([start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 |
random() | 随机生成下一个实数,它在[0,1)范围内。 |
seed([x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
shuffle(lst) | 将序列的所有元素随机排序 |
uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内。 |
三角函数
函数 | 描述 |
acos(x) | 返回x的反余弦弧度值。 |
asin(x) | 返回x的反正弦弧度值 |
atan(x) | 返回x的反正切弧度值。 |
atan2(y, x) | 返回给定的 X 及 Y 坐标值的反正切值。 |
cos(x) | 返回x的弧度的余弦值 |
hypot(x, y) | 返回欧几里德范数 sqrt(x*x + y*y)。 |
sin(x) | 返回的x弧度的正弦值。 |
tan(x) | 返回x弧度的正切值。 |
degrees(x) | 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0 |
radians(x) | 将角度转换为弧度 |
数学常量
常量 | 描述 |
---|---|
pi | 数学常量 pi(圆周率,一般以π来表示) |
e | 数学常量 e,e即自然常数(自然常数)。 |
Python3 数字Number(六)的更多相关文章
- python007 Python3 数字(Number)
var1 = 1 var2 = 10 您也可以使用del语句删除一些数字对象的引用.del语句的语法是: del var1[,var2[,var3[....,varN]]]] 您可以通过使用del语句 ...
- Python3 数字(Number)
Python 解释器可以作为一个简单的计算器:您可以在解释器里输入一个表达式,它将输出表达式的值. 表达式的语法很直白: +, -, * 和/ 和在许多其它语言(如Pascal或C)里一样:括号可以用 ...
- 从零开始学习PYTHON3讲义(六)for循环跟斐波那契数列
<从零开始PYTHON3>第六讲 几乎但凡接触过一点编程的人都知道for循环,在大多数语言的学习中,这也是第一个要学习的循环模式. 但是在Python中,我们把for循环放到了while循 ...
- Python 数字(Number)
Python 数字(Number) Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象 ...
- 幸运数字(number)
幸运数字(number) Time Limit:1000ms Memory Limit:64MB [题目描述] LYK最近运气很差,例如在NOIP初赛中仅仅考了90分,刚刚卡进复赛,于是它决定使用 ...
- 数字(Number)类型(一)
多行语句 Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如: total = item_one + \ item_two + \ item_three ...
- 模拟T1数字number
那么第一题首先非常水的一道题…… 看一下题 数字(number) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK拥有n个数,这n个数分别是a1,a2,… ...
- Python3 数字保留后几位
Python3 数字保留后几位 方案一: 使用Python处理精度很重要的浮点数时,建议使用内置的Decimal库: from decimal import Decimal a = Decimal(' ...
- Python3 数字
layout: post title: Python3 数字 author: "luowentaoaa" catalog: true tags: mathjax: true Pyt ...
随机推荐
- zookeeper 监听事件 PathChildrenCacheListener
zookeeper 监听事件 PathChildrenCacheListener PathChildrenCacheListener一次父节点注册,监听每次子节点操作,不监听自身和查询. 1.测试类: ...
- Java Calendar类总结
在实际项目当中,我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示XXX,欢迎您!今天是XXXX年....某些网站会记录下用户登陆的时间,比如银行的一些网站,对于这些经常需要处理的问题 ...
- 线代笔记 #01# 几何水平上的理解 VS. 数值水平上的理解
源: 线性代数的本质 内容来自字幕. Let me quote without further comment from Dieudonné's "Foundations of Modern ...
- Python3.x:定义一个类并且调用
Python3.x:定义一个类并且调用 1,定一个类Shrjj(其中有属性:name, jjzt,fbsjj,etf,lof,fjlof): class Shrjj(object): def __in ...
- 2009-2010 ACM-ICPC, NEERC, Western Subregional Contest
2009-2010 ACM-ICPC, NEERC, Western Subregional Contest 排名 A B C D E F G H I J K L X 1 0 1 1 1 0 1 X ...
- 【前端】Vue.js经典开源项目汇总
Vue.js经典开源项目汇总 原文链接:http://www.cnblogs.com/huyong/p/6517949.html Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) ...
- NOIP2014 T4 子矩阵 dfs+dp
最近在狂补题啊QAQ... 打算先把NOIP的干掉吧... 点我看题 链接还是放洛谷的了... 题意:给一个n*m的矩阵,在这个矩阵里选 r 行 c 列,然后这 r 行 c 列所相交的格子为新矩阵的, ...
- mybatis动态sql中的sql标签——抽取可重用的sql片段
1.用<sql>标签抽取可重用的sql片段 <!-- 抽取可重用的SQL片段,方便后面引用 1.sql抽取,经常将要查询的列名,或者插入用的列名,之后方便引用 ...
- [小问题笔记(六)] 解决JS已执行,输出内容乱码问题. 顺带总结编码相关知识
问题: JS输出的内容出现了乱码.如图: 分析:既然年和月的数字可以正常显示,证明js加载和执行都没有问题 解决:把js引用处的编码方式改成当前页面编码一致.charset="gb2312& ...
- 用maven按环境打包SpringBoot的不同配置文件
利用maven按环境打包SpringBoot的不同配置文件 application-dev.properties对应开发环境 application-test.properties对应测试环境 app ...