【小甲鱼零基础入门学python】学习笔记之数值类型

这篇博客详细介绍了Python中的数值类型,包括int、bool、float和complex。浮点数可能存在尾数不确定的问题,可以通过decimal模块来解决。复数由实部和虚部构成,可以用.real和.imag属性获取。整数除法得到的是浮点数,科学计数法在Python中也有支持。此外,还讨论了各种数字运算,如地板除、绝对值、转换函数以及幂运算等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数值类型
python 有四种数字类型:
int(整数)、bool(布尔类型)、float(浮点数)以及complex(复数)
1.浮点数
浮点数需要注意以下两点:
(1)尾数不确定:当你输入0.3==0.1+0.2时会 结果是False,因为由于二进制的关系

>>>0.1+0.2
>>>0.30000000000000004

(2)针对浮点数的尾数不确定问题,可以用以下方法:

import decimal
a=decimal.Decimal("0.1")
b=decimal.Decimal('0.2')
print(a+b==decimal.Decimal('0.3'))
>>>True

注意 decimal.Decimal(‘0.3’)这种形式的只能与同种形式的进行运算和比较。(对于这个问题有待深入研究,目前测试的结果是:

>>> import decimal as de
>>> de.Decimal('1')+5
Decimal('6')
>>> de.Decimal('1.1')+5
Decimal('6.1')
>>> de.decimal('1')+1.1
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    de.decimal('1')+1.1
AttributeError: module 'decimal' has no attribute 'decimal'
>>> 

2.复数
复数分实部和虚部,表示为a+bj,注意,虚部用j表示,实部与虚部均为浮点数,通过.real 和.imag 来取得。

>>> x.imag
2.0
>>> x=1+2j
>>> x.real
1.0
>>> x.imag
2.0

3.整数
整数需要注意一点,python即便是两个整数能够整除,结果也是浮点数:

>>> 6/3
2.0

4 科学计数法:

>>> 0.000005
5e-06

二、数字运算
1.地板除 // 是取目标结果小的最大整数

>>>3//2
>>>1
>>>-3//2
>>>-2

2.求绝对值abs()
如果是复数,则abs()是求该数的模

>>> abs(-9)
9
>>> abs(1+2j)
2.23606797749979
>>> 

3.int() 函数用于将一个字符串或数字转换为整型
注意:将浮点数转换为整数时,是直接截取其整数部分。

>>> type(int('123'))
<class 'int'>
>>> int(9.99)
9
>>> int(0.34)
0
>>> 

4.float() 函数用于将整数和字符串转换成浮点数。
注意:结果是用小数点后面的零表示这是个浮点数而不是整数

>>> float('123')
123.0
>>> float(123)
123.0
>>> 

5.科学计数法:

>>> 2e-4
0.0002
>>> 2e4
20000.0
>>> 
  1. complex(): 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。
>>> complex(1,3)
(1+3j)
>>> complex('1+3j')
(1+3j)
>>> complex(1)
(1+0j)

7.幂函数:pow(n,m)和nm
注意pow(n,m,k)相当于n
m%k

>>> pow(2,3)
8
>>> 2**3
8
>>> pow(2,3,3) #==8%3==2
2
>>> 

8.bool() 判断真假(注意:这里True、False 必须得这样书写,不能写成true或者false)
所有为假的类型:
(1)定义为False的对象:None、False
(2)值为零的数字类型:0、0.0、0j、Decimal(0),Fraction(0,1)
(3)空的序列或集合:{}、’’、""、[]、set()、range(0)

>>> bool(False)
False
>>> bool('False')
True
>>> 

布尔类型为特殊的整数类型:

>>> 1==True
True
>>> 0==False
True
>>> True+False #等价于1+0
1
>>> True*False #==1*0
0
>>> True-False #==1-0
1
>>> True/False #==1/0
Traceback (most recent call last):
  File "<pyshell#65>", line 1, in <module>
    True/False
ZeroDivisionError: division by zero
>>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值