Python学习笔记-数字类型

目录

1. 数字类型

1.1 整型

1.2 浮点数

1.3 复数

1.4 布尔类型

2. 常用内置数值计算函数库

3. 随机数函数

4.运算符


本文记录python中的基本数字类型信息,以及一些其他的相关知识点。

1. 数字类型

python中用于标识数字或者数值的数据类型,主要有如下分类:

  • 整型:int
  • 浮点型:float
  • 复数类型:complex
  • 布尔类型:bool

1.1 整型

 整形默认为十进制,计算机采用二级制数据。

不同的整型数据可以相互转换,转换函数如下:

  • bin():将整型数据转换为二进制,输出形式为字符串
  • oct():将整型数据转换为八进制,输出形式是字符串
  • hex():将整型数据转换为十六进制,输出形式是字符串
  • int():接受一个符合整型规范的字符串,并将字符串转换为整型
>>> a = 100
>>> bin(a)
'0b1100100'
>>> a_bin = bin(a)
>>> print(a_bin)
0b1100100
>>> type(a_bin)
<class 'str'>
>>> a_oct = oct(a)
>>> print(a_oct)
0o144
>>> type(a_oct)
<class 'str'>
>>> a_hex = hex(a)
>>> print(a_hex)
0x64
>>> type(a_hex)
<class 'str'>
>>> a_int = int(a)
>>> print(a_int)
100
>>> type(a_int)
<class 'int'>
>>> str_a = "100"
>>> inta = int(a)
>>> print(inta)
100
>>> type(inta)
<class 'int'>
#可直接转换非十进制数据
>>> bin(0xff)
'0b11111111'
# 转换非整型数据时报错
>>> bin('100')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an integer
>>>

注意

数字在python是不可变的,如有多个变量指向同一个数值是,该值只会存储在一个内存中,然后不同变量指向同一个内存。

示例如下:

>>> a = 1
>>> b = 1
>>> c = a
>>> print(id(a),id(b),id(c))
140715700289808 140715700289808 140715700289808

可以看出所有变量的di是一样的,id()是python的内置函数,用于读取变量的内存。即上文示例中a、b、c变量指向指向数字1的内存。

>>> a = 1
>>> b = 1
>>> c = a
>>> print(id(a),id(b),id(c))
140715700289808 140715700289808 140715700289808
>>> a = 2
>>> print(id(a),id(b),id(c))
140715700289840 140715700289808 140715700289808
>>>

如上,将a重新赋值为2,只有a的地址改变了,改变a的值时并不是修改数值,而是将新的数值存入内存中,然后将变量重新指向该内存。浮点数、复数等其他数字类型变量具有相同特点。

1.2 浮点数

浮点数就是数学中的小数,特点如下:

  • 以十进制表示;
  • 可以用科学计数法表示;
  • python中的浮点型都是双精度的,每个浮点数占八个字节(64位);

科学计数法的格式如下:

                数值x e 数值y(整型)

                就是x乘以10的y次幂

示例如下:

>>> a = 1.0
>>> b = 0.1
>>> print(type(a))
<class 'float'>
>>> print(type(b))
<class 'float'>
>>> c = 1e2    # 1 乘以 10 的 2次幂
>>> print(c)
100.0
>>> d = 1e-2   # 1 乘以 10 的 -2次幂
>>> print(d)
0.01

注意

        x是不可获取的部分,若确实,则会报错

>>> d = e-2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'e' is not defined

1.3 复数

复数就是数学中的复数,其特点如下:

  • 复数由“实部”和“虚部”两部分组成;
  • 实数和虚数部分都是浮点型;
  • 虚数部分必须有j或着J;

复数的表达形式

  • a + bj;
  • complex(a,b):其中a是实部,b是虚部

用法示例如下:

>>> a = 1 + 2j
>>> print(type(a))
<class 'complex'>
>>> b = complex(1,2)
>>> print(type(b))
<class 'complex'>
>>> print(id(a),id(b))
2575329711152 2575329711216
>>> # 获取复数的虚部
>>> print(a.imag)
2.0
>>> print(a.real) #获取s复数的实部
1.0
>>> print(a.conjugate())        # 获取共轭复数
(1-2j)

1.4 布尔类型

布尔类型就是是与否,只有两个状态,基本特点如下:

  • 只有True和False两个取值;
  • True对应整数1,False对应整数0;
  • 常用的bool运算包括and、or、not三种,对应与、或、非运算;

多种数据可以等价于True和False:

2. 常用内置数值计算函数库

数学中的一些常用运算在python标准函数中的表达式。

函数数学表示说明
copysign(x,y)复制符号位,用y的正负号替换x的正负号
fabs(x)|x|返回x的绝对值
factorial(x)x!返回x的阶乘,x必须为正整数或0,否则会报错
floor(x)向下取整,返回不大于x的最大整数
fmod(x,y)x % y返回x与y的模
frexp(x)x = m * 2 **e返回(m,e),若x为零,则返回(0.0,0)
fsum(iterable)浮点数精度求和
gcd(a,b)返回a和b的最大公约数
iscolse(a,b)比较a和b的相似性,相近返回True,否则返回False

isfinite(x)

若x不是无穷大,也不是NaN,返回True;否则返回False

isnan(x)x为NaN时返回True,否则返回False
ldexp(x,i)返回x*(2**i)
modf(x)返回x的小数部分和整数部分
trunc(x)返回x的整数部分
exp(x)e^x返回e的x次幂
expm1(x)e^x-1返回e的x次幂减去1
log(x[,base])返回x的自然对数
log1p(x)ln(1+x)返回1+x的自然对数
log2(x)返回以2为底x的对数
log10(x)返回以10为底x的对数
pow(x,y)x^{y}返回x的y次幂
sqrt(x)\sqrt{x}返回x的平方根
sin(x)sin x返回x的正弦函数值
cos(x)cos x返回x的余弦函数值
tan(x)tan x返回x的正切函数值
asin(x)arcsin x返回x的反正弦函数值
acos(x)atccos x返回x的反余弦函数值
atan(x)atctan x返回x的反正切函数值
atan2(x) arctan \frac{y}{x}返回y/x的反正切函数
math.erf(x)高斯误差函数
math.erfc(x)余补高斯误差函数
math.gamma(x)伽马函数,也叫欧拉第二积分函数
math.lgamma(x)伽马函数的自然对数

3. 随机数函数

随机数函数random用于生成置定范围内的随机数。

import random

a = random.random()  # 生成一个0-1范围内的随机数
b = random.randint(1,200)      # 生成1-200范围内的一个随机整数

4.运算符

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼听禅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值