Python 数字类型:整数、浮点数、复数
Python 包括三种表示数字的数字类型:整数、浮点数和复数。
整数类型
在 Python 中,整数是没有小数部分的零、正或负整数,并且具有无限的精度,例如 0、100、-10。以下是 Python 中有效的整数文字。
>>> 0
0
>>> 100
100
>>> -10
-10
>>> 1234567890
1234567890
>>> y=5000000000000000000000000000000000000000000000000000000
5000000000000000000000000000000000000000000000000000000
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
整数可以是二进制、八进制和十六进制值。
>>> 0b11011000 # 二进制
216
>>> 0o12 # 八进制
10
>>> 0x12 # 十六进制
15
- 1
- 2
- 3
- 4
- 5
- 6
所有整数文字或变量都是int
类的对象。使用type()
方法获取类名,如下图。
>>>type(100)
<class 'int'> # 返回整数类型
>>> x=1234567890
>>> type(x)
<class 'int'> # 返回整数类型
>>> y=5000000000000000000000000000000000000000000000000000000
>>> type(y) # 返回整数类型
<class 'int'>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
非零整数中不允许在最前面出现0,例如 000123 是无效数字,0000 是 0。
>>> x=01234567890
SyntaxError: invalid token
- 1
- 2
Python 不允许逗号作为数字分隔符。请使用下划线_
作为分隔符。
>>> x=1_234_567_890
>>> x
1234567890
- 1
- 2
- 3
请注意,整数必须不带小数部分(小数点)。如果包含了小数点,那它就是一个浮点数。
>>> x=5
>>> type(x)
<class 'int'>
>>> x=5.0
>>> type(x)
<class 'float'> #这里返回是浮点型
- 1
- 2
- 3
- 4
- 5
- 6
int()
函数将字符串或浮点数转换为整数。
>>> int('100')
100
>>> int('-10')
-10
>>> int('5.5')
5
>>> int('100', 2)
4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
二进制的
在 Python 中,0 和 1 的组合中有八位数字的数字 0b 代表二进制数。 例如,0b11011000 是相当于整数 216 的二进制数。
>>> x=0b11011000
>>> x
216
>>> x=0b_1101_1000
>>> x
216
>>> type(x)
<class 'int'>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
八进制的
以 0o 或 0O 为前缀的数字代表一个八进制数字。 例如 0O12 相当于整数 10。
>>> x=0o12
>>> x
10
>>> type(x)
<class 'int'>
- 1
- 2
- 3
- 4
- 5
十六进制的
以 0x 或 0X 为前缀的数字表示十六进制号。 例如 0x12 相当于整数 18。
>>> x=0x12
>>> x
18
>>> type(x)
<class 'int'>
- 1
- 2
- 3
- 4
- 5
浮点数
在 Python 中,浮点数(float)是正负实数,小数部分由十进制符号.
或科学符号E
或e
、 表示,例如 1234.56、3.142、-1.55、0.23。
>>> f=1.2
>>> f
1.2
>>> type(f)
<class 'float'>
- 1
- 2
- 3
- 4
- 5
浮点数可以用下划线_
分隔,例如123_42.222_013
是有效的浮点数。
>>> f=123_42.222_013
>>> f
12342.222013
- 1
- 2
- 3
浮动的最大大小取决于您的系统。超出其最大大小的浮动称为“inf”、“Inf”、“infinity”或“INFINITY”。对于大多数系统来说,Float 2e400
将被认为是无穷大。
>>> f=2e400
>>> f
inf
- 1
- 2
- 3
科学记数法被用作表示有许多数字的浮点数的简短表示法。例如:345.56789 表示为 3.4556789e2 或 3.4556789E2
>>> f=1e3
>>> f
1000.0
>>> f=1e5
>>> f
100000.0
>>> f=3.4556789e2
>>> f
345.56789
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
使用float()
函数将字符串、int 转换为 float。
>>> float('5.5')
5.5
>>> float('5')
5.0
>>> float(' -5')
-5.0
>>> float('1e3')
1000.0
>>> float('-Infinity')
-inf
>>> float('inf')
inf
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
复数
复数是有实部和虚部的数。例如,5 + 6j 是复数,其中 5 是实部,6 乘以 j 是虚部。
>>> a=5+2j
>>> a
(5+2j)
>>> type(a)
<class 'complex'>
- 1
- 2
- 3
- 4
- 5
你必须用 J 或 J 作为虚部。使用其他字符会引发语法错误。
>>> a=5+2k
SyntaxError: invalid syntax
>>> a=5+j
SyntaxError: invalid syntax
>>> a=5i+2j
SyntaxError: invalid syntax
- 1
- 2
- 3
- 4
- 5
- 6
算术运算符
下表列出了整数值的算术运算符:
操作员 | 描述 | 例子 |
---|---|---|
+(加法) | 在运算符的两侧添加操作数。 | > > > a = 10b = 20 |
T2>T4>a+b T6】30 | | -(减法) | 从左侧操作数中减去右侧操作数。 | > > > a = 10b = 20
复数的算术运算
复数的加法和减法很简单。实部和虚部相加/相减得到结果。
>>> a=6+4j
>>> a+2
(8+4j)
>>> a*2
(12+8j)
>>> a/2
(3+2j)
>>> a**2
(20+48j)
>>> b=3+2j
>>> a+b
(9+6j)
>>> a-b
(3+2j)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
算术运算符也可以用于两个复数,如下所示。
>>> a=6+4j
>>> b=3+2j
>>> a+b
(9+6j)
>>> a-b
(3+2j)
>>> a*b
(10+24j)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
这两个复数相乘的过程非常类似于两个二项式相乘。将第一个数字中的每个项乘以第二个数字中的每个项。
a=6+4j
b=3+2j
c=a*b
c=(6+4j)*(3+2j)
c=(18+12j+12j+8*-1)
c=10+24j
- 1
- 2
- 3
- 4
- 5
- 6
内置函数
可以使用以下函数将一种类型的数值对象转换为另一种类型:
内置函数 | 描述 |
---|---|
int | 从浮点数或包含数字的字符串中返回整数对象。 |
float | 从包含带小数点或科学表示法的数字的数字或字符串中返回浮点数对象。 |
complex | 返回一个有实部和虚部的复数。 |
hex | 将十进制整数转换为前缀为 0x 的十六进制数。 |
oct | 将十进制整数转换为前缀为 0o 的八进制表示形式。 |
pow | 返回指定数字的幂。 |
abs | 返回一个数字的绝对值,不考虑它的符号。 |
round | 返回四舍五入的数字。 |
DeepSeek-R1 通过其卓越的推理性能和灵活的训练机制,在 2025 年的春节期间受到了广泛关注。
DeepSeek-R1 是一款高性能的 AI 推理模型,主要通过强化学习技术来增强模型在复杂任务场景下的推理能力。
在本地部署 DeepSeek-R1 时,尤其是完整的 671b 参数版本,对硬件的需求相对较高。
ollama官网:deepseek-r1
模型太大,国内下载太慢,而且老中断,怎么办?请看教程:如何快速下载Huggingface上的超大模型,不用梯子,以Deepseek-R1为例子_deepseek r1模型下载-CSDN博客
不知道模型怎么部署,请看教程:SGLang安装教程,部署你的大模型,性能比vllm好,实现张量并行,数据并行,加快推理速度,亲测效果好。-CSDN博客
模型版本 | CPU | 内存 | 显卡 | 存储 |
---|---|---|---|---|
DeepSeek-R1-1.5B | 任意四核处理器 | 8GB | 无需 GPU | 12GB |
DeepSeek-R1-7B | Ryzen 7 或更高 | 16GB | RTX 3060 (12GB) 或更高 | 80GB |
DeepSeek-R1-14B | i9-13900K 或更高 | 32GB | RTX 4090 (24GB) 或更高 | 200GB |
DeepSeek-R1-32B | Xeon 8核+128GB 或更高 | 64GB | 2-4张 A100 80GB 或更高 | 320GB |
DeepSeek-R1-70B | Xeon 8核+128GB 或更高 | 128GB | 8+张 A100/H100,显存 ≥80GB/卡 | 500GB+ |
评论记录:
回复评论: