python 基础知识

本文介绍了Python的基础知识,包括变量与数据类型、字符串、列表、函数的参数传递方式、文件操作等。重点讲解了浮点型数据的精确运算、动态类型、字符串的不可变性、列表切片、关键字传参和解包裹的使用,以及round、filter和map方法。
摘要由CSDN通过智能技术生成

1、变量与数据类型

1.1  对浮点型数据执行精确运算

在python中进行浮点数计算时会出现计算结果与数学计算结果不一致的情况,如:

print(0.35+0.3+0.35)

输出:0.9999999999999999
print(0.3+0.3+0.3)

输出:0.8999999999999999

这是因为一些较为简单的浮点数在计算机内部转化为二进制的时候会变为无限循环小数,计算机会进行四舍五入,导致再转化为十进制时,会出现精度丢失的情况。

可以使用decimal模块下的Decimal方法来对这个问题进行解决,在对浮点数进行计算的时候可以得到精确的结果。

from decimal import *
print(Decimal('0.3')+Decimal('0.3')+Decimal('0.35'))

输出:1.00

并且它还可以和计算数据的精度进行匹配。

采用普通浮点数计算:

print(2.20+1.80)

输出:4.0

采用Decimal方法:

from decimal import *
print(Decimal('2.20')+Decimal('1.80'))

输出:4.00

Decimal方法可以根据需要,搭配getcontext().prec函数设置数据的有效数字。其用法为getcontext().prec=x,x为想要的精度,如x=3,代表我想要得到保留3位有效数字的结果。

from decimal import *
getcontext().prec=4
print(Decimal(2.20)+Decimal(1.80))

输出:4.000

需要注意的是:Decimal方法中建议传入字符串形式的浮点数,如果直接传入浮点数结果往往依然不精确:

from decimal import *
print(Decimal(2.20)+Decimal(1.80))

输出:4.000000000000000222044604925

1.2  动态类型与静态类型

Python能自由改变变量类型,所以被称之为动态类型语言。需要注意的是,并不是所有的语言都支持动态类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值