数字类型

简介: 一、数字 Python中数字类型包括:整数浮点数复数固定精度的十进制数有理分数集合布尔类型无穷的整数精度各种数字内置函数和模块二、表达式操作符 算数运算符(a=10,b=20)运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果...

一、数字

Python中数字类型包括:
  • 整数
  • 浮点数
  • 复数
  • 固定精度的十进制数
  • 有理分数
  • 集合
  • 布尔类型
  • 无穷的整数精度
  • 各种数字内置函数和模块

二、表达式操作符

算数运算符(a=10,b=20)
运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
比较运算符(a=10,b=20)
运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 true。
>= 大于等于    - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 -    返回x是否小于等于y。 (a <= b) 返回 true。
赋值运算符
运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
位运算符(a=10,b=20)
运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111
逻辑运算符(a=10,b=20)
运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或"    - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
成员运算符
运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
身份运算符
运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

三、内置数学函数

math
函数|常量 说明 实例
e 自然常数e math.e
2.718281828459045
pi 圆周率π math.pi
3.141592653589793
acos(x) 返回x的反三角余弦值 math.acos(math.sqrt(2)/2)
0.7853981633974483
acosh(x) 返回x的反双曲余弦函数  
asin(x) 返回x的反三角正弦值 math.asin(0.5)
0.5235987755982989
asinh(x) 返回x的反双曲正弦函数  
atan(x) 返回x的反三角正切值 math.atan(1.7320508075688767)
1.0471975511965976
atan2(y, x) 返回x/y的反三角正切值 math.atan2(2,1)
1.1071487177940904
atanh(x) 返回x的反双曲正切函数  
ceil(x) 这个方法对i向上取整,x = 1.3 ,返回值为2 math.ceil(5.2)
6.0
copysign(x, y) 若y<0,返回-1乘以x的绝对值;
否则,返回x的绝对值
math.copysign(5.2, -1)
-5.2
cos(x) 返回x(弧度)的三角余弦值 math.cos(math.radians(45))
0.7071067811865476
cosh(x) 返回x的双曲余弦函数  
degrees(x) 弧度转度 math.degrees(math.pi)
180.0
erf(x) 返回x的误差函数  
erfc(x) 返回x的余误差函数  
exp(x) 返回e的x次方 math.exp(2)
7.38905609893065
expm1(x) 返回e的x次方减1 math.expm1(2)
6.38905609893065
fabs(x) 返回x的绝对值 math.fabs(-5)
5.0
factorial(x) 返回x的阶乘 math.factorial(5)
120
floor(x) 正好与上面相反,是向下取整。x = 1.4,返回1 math.floor(5.8)
5.0
fmod(x, y) 返回x%y(取余) math.fmod(5,2)
1.0
frexp(x) 返回m和i,满足m乘以2的i次方 math.frexp(3)
(0.75, 2)
fsum(iterable) 返回无损精度的和 0.1+0.2+0.3
0.6000000000000001
math.fsum([0.1, 0.2, 0.3])
0.6
gamma(x) 返回x的伽玛函数  
hypot(x, y) 返回以x和y为直角边的斜边长 math.hypot(3,4)
5.0
isinf(x) 若x为无穷大,返回True;否则,返回False math.isinf(1.0e+308)
False
math.isinf(1.0e+309)
True
isnan(x) 若x不是数字,返回True;否则,返回False math.isnan(1.2e3)
False
ldexp(x, i) 返回x乘以2的i次方 math.ldexp(0.75, 2)
3.0
lgamma(x) 返回x的绝对值的自然对数的伽玛函数  
log(x, base=None) 返回x的以base为底的对数,base默认为e math.log(math.e)
1.0
math.log(2, 10)
0.30102999566398114
log10(x) 返回x的以10为底的对数 math.log10(2)
0.30102999566398114
log1p(x) 返回1+x的自然对数(以e为底) math.log1p(math.e-1)
1.0
modf(x) 返回x的小数和整数 math.modf(5.2)
(0.20000000000000018, 5.0)
pow(x, y) 返回x的y次方 math.pow(5,3)
125.0
radians(x) 度转弧度 math.radians(45)
0.7853981633974483
sin(x) 返回x(弧度)的三角正弦值 math.sin(math.radians(30))
0.49999999999999994
sinh(x) 返回x的双曲正弦函数  
sqrt(x) 返回x的平方根 math.sqrt(3)
1.7320508075688772
tan(x) 返回x(弧度)的三角正切值 math.tan(math.radians(60))
1.7320508075688767
tanh(x) 返回x的双曲正切函数  
trunc(x) 返回x的整数部分 math.trunc(5.8)
5
random
函数|常量 说明 实例
random 用于生成一个0到1的随机符点数0 <= n < 1.0  
uniform 原型:random.uniform(a, b)
用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。
如果a > b,则生成的随机数n: a <= n <= b。
如果 a <b, 则 b <= n <= a。
print random.uniform(10, 20)  
print random.uniform(20, 10)  
#---- 结果(不同机器上的结果不一样)  
#18.7356606526  
#12.5798298022  
randint 原型:random.randint(a, b)
用于生成一个指定范围内的整数。
其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

print random.randint(12, 20)
#生成的随机数n: 12 <= n <= 20 

print random.randint(20, 20)
#结果永远是20  

#print random.randint(20, 10)  
#该语句是错误的。下限必须小于上限。

randrange 原型:random.randrange([start], stop[, step])
从指定范围内,按指定基数递增的集合中获取一个随机数。
random.randrange(10, 100, 2)
结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。在结果上与 random.choice(range(10, 100, 2) 等效。
choice random.choice从序列中获取一个随机元素。
原型:random.choice(sequence)
参数sequence表示一个有序类型。
sequence在python中是泛指一系列的类型。list, tuple, 字符串都属于sequence。
print random.choice("学习Python")  
print random.choice(["JGood", "is", "a", "handsome", "boy"])  
print random.choice(("Tuple", "List", "Dict")) 
shuffle

原型:random.shuffle(x[, random])
用于将一个列表中的元素打乱。

p = ["Python", "is", "powerful", "simple", "and so on..."]  
random.shuffle(p)  
print p  
#---- 结果(不同机器上的结果可能不一样。)  
#['powerful', 'simple', 'is', 'Python', 'and so on...']  
sample 原型:random.sample(sequence, k)
从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
slice = random.sample(list, 5)
#从list中随机获取5个元素,作为一个片断返回
print slice  
print list
#原有序列并没有改变。

目录
相关文章
|
IDE Shell 网络安全
Visual Studio 2022 git error Unable to negotiate with xx.xxx.xxxx port 22: no matching host key type found. Their offer: ssh-rsa
Visual Studio 2022 git error Unable to negotiate with xx.xxx.xxxx port 22: no matching host key type found. Their offer: ssh-rsa
602 0
Visual Studio 2022 git error Unable to negotiate with xx.xxx.xxxx port 22: no matching host key type found. Their offer: ssh-rsa
|
存储 安全 网络安全
云上防线:云计算时代的网络安全挑战与对策
在数字化浪潮的推动下,云计算成为现代企业不可或缺的技术支撑。然而,随着云服务模式的普及,网络安全威胁也日益增多。本文将探讨云计算环境下的网络安全挑战,并提出相应的安全策略,以期为企业在云端的安全航行提供指南。
158 0
|
人工智能 Oracle 关系型数据库
阿里云宣布与数据库厂商EnterpriseDB(EDB)达成深度合作 提供优秀的Oracle兼容性
自2015年起,阿里云已经与EnterpriseDB公司就云数据库产品进行业务合作,基于阿里云飞天架构及EDB Postgres Advanced Server推出 云数据库PPAS版。针对Postgres市场的持续升温,阿里云将与EDB公司加强源代码级别的技术合作,为全球用户提供基于云计算架构,更优秀的Postgres云数据库服务及产品。
4519 0
|
微服务 API 数据库
带你读《微服务架构设计模式》之二:服务的拆分策略
本书中,微服务架构的先驱、Java 开发者社区的意见领袖 Chris Richardson 收集、分类并解释了 44 个架构设计模式,这些模式用来解决诸如服务拆分、事务管理、查询和跨服务通信等难题。本书不仅仅是一个模式目录,还提供了经验驱动的建议,以帮助你设计、实现、测试和部署基于微服务的应用程序。
|
SQL 资源调度 分布式计算
Fuxi2.0—飞天大数据平台调度系统全面升级,首次亮相2019双十一
随着 Fuxi 2.0 首次亮相双十一,今年飞天大数据平台在混部侧支持和基线保障2个方面均顺利完成了目标。其中,混部支持了双十一 60%在线交易洪峰的流量,超大规模混部调度符合预期。在基线保障方面,单日数据处理 970PB,较去年增长超过60%。
3328 0
Fuxi2.0—飞天大数据平台调度系统全面升级,首次亮相2019双十一
【业界首发】弹性公网IP支持快速转发模式
阿里云第一家以产品化的方式支持VPC网络中弹性公网IP在网卡上和操作系统内部可见,并且支持全部IP协议。为呼叫中心类业务,webhosting类业务上云铺平网络之路。
5428 0
|
安全 AndFix 测试技术
阿里HotFix2.0升级详解——技术运营小二畅谈热修复领域那些事
热修复领域充斥着各大流派,如阿里AndFix、美团Robust、微信Tinker等,每种方法各有优劣。本文介绍的百川Hotfix 2.x是在1.x版本进行了优化和创新,不仅支持灵活切换热部署和冷部署的方案;实现了资源、SO文件、类修复的实时生效;接入时不侵入打包过程,并为用户提供了可视化的UI界面。
10286 3
|
安全 Unix Devops
|
容灾 关系型数据库 Java
RDS 5.7三节点企业版在阿里巴巴的应用
RDS 5.7三节点企业版是阿里自主研发,完全兼容MySQL生态的全球级分布式强一致的关系型数据库。从2017年开始在集团大规模使用,目前不仅服务了天猫/淘宝核心交易系统,还在蚂蚁,菜鸟,钉钉,盒马,优酷,高德,口碑等阿里子BU大量使用,这篇我们来看看ALISQL金融三节点的具体应用场景
1777 0
|
人工智能 安全 数据安全/隐私保护
奉上一份云上数据安全保护指南
在数字化转型的浪潮下,无论哪种云的形态,都是企业战略转型的机遇。随着越来越多的数据变得在线,作为云服务商,不能只满足提供“点”上的数据保护技术,而需要为客户提供一整套的数据安全架构方案。在近日举办的2018天府国际网络安全高峰论坛上,阿里云资深安全专家黄瑞瑞提出了从底层云平台到上层云上环境的整体云上数据安全架构方案。