您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > Python电子教案3-1-基本数据类型
Python语言程序设计第3章基本数据类型数字类型数字类型程序元素:010/10,存在多种可能表示十进制整数值10类似人名一样的字符串数字类型对Python语言中数字的表示和使用进行了定义和规范数字类型Python语言包括三种数字类型整数类型浮点数类型复数类型整数类型与数学中的整数概念一致,没有取值范围限制pow(x,y)函数:计算xy打开IDLE程序1:pow(2,10),pow(2,15)程序2:pow(2,1000)程序3:pow(2,pow(2,15))整数类型示例1010,99,-2170x9a,-0X89(0x,0X开头表示16进制数)0b010,-0B101(0b,0B开头表示2进制数)0o123,-0O456(0o,0O开头表示8进制数)浮点数类型带有小数点及小数的数字Python语言中浮点数的数值范围存在限制,小数精度也存在限制。这种限制与在不同计算机系统有关浮点数类型浮点数类型示例0.0,-77.,-2.1796e4,4.3e-3,9.6E5(科学计数法)科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数。科学计数法含义如下:aeb=a*10b举个例子,现在用二进制来表示十进制的1.2:1.01=1+1/4=0.25,偏大1.001=1+1/8=0.125,偏小1.0011=1+1/8+1/16=0.1875,1.001101=1+1/8+1/16+1/64=0.203125,又偏大1.0011001=1+1/8+1/16+1/128=0.1953125,1.00110011=1+1/8+1/16+1/128+1/256=0.19921875,这个很接近复数类型与数学中的复数概念一致,z=a+bj,a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识示例:12.3+4j,-5.6+7j复数类型z=1.23e-4+5.6e+89j(实部和虚部是什么?)对于复数z,可以用z.real获得实数部分,z.imag获得虚数部分z.real=0.000123z.imag=5.6e+89数字类型的操作内置的数值运算操作符三种类型存在一种逐渐“扩展”的关系:整数-浮点数-复数(整数是浮点数特例,浮点数是复数特例)不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型123+4.0=127.0(整数+浮点数=浮点数)内置的数值运算操作符数字类型之间相互运算所生成的结果是“更宽”的类型,基本规则是:整数之间运算,如果数学意义上的结果是小数,结果是浮点数;整数之间运算,如果数学意义上的结果是整数,结果是整数;整数和浮点数混合运算,输出结果是浮点数;整数或浮点数与复数运算,输出结果是复数。内置的数值运算操作符操作符描述x+yx与y之和x-yx与y之差x*yx与y之积x/yx与y之商x//yx与y之整数商,即:不大于x与y之商的最大整数x%yx与y之商的余数,也称为模运算-xx的负值,即:x*(-1)+xx本身x**yx的y次幂,即:xy内置的数值运算函数Python解释器提供了一些内置函数,在这些内置函数之中,有6个函数与数值运算相关函数描述abs(x)x的绝对值divmod(x,y)(x//y,x%y),输出为二元组形式(也称为元组类型)pow(x,y[,z])(x**y)%z,[..]表示该参数可以省略,即:pow(x,y),它与x**y相同round(x[,ndigits])对x四舍五入,保留ndigits位小数。round(x)返回四舍五入的整数值max(x1,x2,…,xn)x1,x2,…,xn的最大值,n没有限定min(x1,x2,…,xn)x1,x2,…,xn的最小值,n没有限定数字类型的转换函数描述int(x)将x转换为整数,x可以是浮点数或字符串float(x)将x转换为浮点数,x可以是整数或字符串complex(re[,im])生成一个复数,实部为re,虚部为im,re可以是整数、浮点数或字符串,im可以是整数或浮点数但不能为字符串数值运算操作符可以隐式地转换输出结果的数字类型例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。此外,通过内置的数字类型转换函数可以显式地在数字类型之间进行转换数字类型的转换三种类型可以相互转换函数:int(),float(),complex()示例:int(4.5)=4(直接去掉小数部分)float(4)=4.0(增加小数部分)complex(4)=4+0J数字类型的转换示例:complex(4.5)=4.5+0J数字类型的判断函数:type(x),返回x的类型,适用于所有类型的判断示例:math库的使用math库概述math库是Python提供的内置数学类函数库math库不支持复数类型math库一共提供了4个数学常数和44个函数。44个函数共分为4类,包括:16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数math库概述首先使用保留字import引用该库•第一种:importmath对math库中函数采用math.b()形式使用•第二种,frommathimport函数名对math库中函数可以直接采用函数名()形式使用importmathmath.ceil(10.2)11frommathimportfloorfloor(10.2)10math库解析math库包括4个数学常数常数数学表示描述math.pi圆周率,值为3.141592653589793math.ee自然对数,值为2.718281828459045math.inf正无穷大,负无穷大为-math.infmath.nan非浮点数标记,NaN(NotaNumber)math库解析math库包括16个数值表示函数函数数学表示描述math.fabs(x)返回x的绝对值math.fmod(x,y)x%y返回x与y的模math.fsum([x,y,…])x+y+…浮点数精确求和math.ceil(x)向上取整,返回不小于x的最小整数math.floor(x)向下取证,返回不大于x的最大整数math.factorial(x)x!返回x的阶乘,如果x是小数或负数,返回ValueErrormath.gcd(a,b)返回a与b的最大公约数math.frepx(x)x=m*2e返回(m,e),当x=0,返回(0.0,0)math.ldexp(x,i)x*2i返回x*2i运算值,math.frepx(x)函数的反运算math.modf(x)返回x的小数和整数部分math.trunc(x)返回x的整数部分math.copysign(x,y)用数值y的正负号替换数值x的正负号math.isclose(a,b)比较a和b的相似性,返回True或Falsemath.isfinite(x)当x为无穷大,返回True;否则,返回Falsemath.isinf(x)当x为正数或负数无穷大,返回True;否则,返回Falsemath.isnan(x)当x是NaN,返回True;否则,返回Falsemath库解析math库中包括8个幂对数函数函数数学表示描述math.pow(x,y)xy返回x的y次幂math.exp(x)ex返回e的x次幂,e是自然对数math.expml(x)ex-1返回e的x次幂减1math.sqrt(x)返回x的平方根math.log(x[,base])math.log1p(x)返回1+x的自然对数值math.log2(x)返回x的2对数值math.log10(x)返回x的10对数值math库解析math库包括六个“三角双曲函数函数数学表示描述math.degree(x)角度x的弧度值转角度值math.radians(x)角度x的角度值转弧度值math.hypot(x,y)返回(x,y)坐标到原点(0,0)的距离math.sin(x)sinx返回x的正弦函数值,x是弧度值math.cos(x)cosx返回x的余弦函数值,x是弧度值math.tan(x)tanx返回x的正切函数值,x是弧度值math.asin(x)arcsinx返回x的反正弦函数值,x是弧度值math.acos(x)arccosx返回x的反余弦函数值,x是弧度值math.atan(x)arctanx返回x的反正切函数值,x是弧度值math.atan2(y,x)arctany/x返回y/x的反正切函数值,x是弧度值math.sinh(x)sinhx返回x的双曲正弦函数值math.cosh(x)coshx返回x的双曲余弦函数值math.tanh(x)tanhx返回x的双曲正切函数值math.asinh(x)arcsinhx返回x的反双曲正弦函数值math.acosh(x)arccoshx返回x的反双曲余弦函数值math.atanh(x)arctanhx返回x的反双曲正切函数值math库解析math库包括4个高等特殊函数函数数学表示描述math.erf(x)高斯误差函数,应用于概率论、统计学等领域math.erfc(x)余补高斯误差函数,math.erfc(x)=1-math.erf(x)math.gamma(x)伽玛(Gamma)函数,也叫欧拉第二积分函数math.lgamma(x)ln(gamma(x))伽玛函数的自然对数实例3:天天向上的力量实例代码3.1:天天向上一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰,当没有学习时由于遗忘等原因能力值相比前一天下降1‰。每天努力和每天放任,一年下来的能力值相差多少呢?实例代码3.1:天天向上运行结果如下,每天努力1‰,一年下来将提高44%,好像不多?请继续分析。实例代码3.1e3.1DayDayUp365.py12345#e3.1DayDayUp365.pyimportmathdayup=math.pow((1.0+0.001),365)#提高0.001daydown=math.pow((1.0-0.001),365)#放任0.001print(向上:{:.2f},向下:{:.2f}..format(dayup,daydown))实例代码3.2:天天向上一年365天,如果好好学习时能力值相比前一天提高5‰,当放任时相比前一天下降5‰。效果相差多少呢?实例代码3.2:天天向上运行结果如下,每天努力5‰,一年下来将提高6倍!这个,不容小觑了吧?实例代码3.2e3.2DayDayUp365.py12345#e3.2DayDayUp365.pyimportmathdayup=math.pow((1.0+0.005),365)#提高0.005daydown=math.pow((1.0-0.005),365)#放任0.005print(向上:{:.2f},向下:{:.2f}..format(dayup,daydown))实例代码3.3:天天向上一年365天,如果好好学习时能力值相比前一天提高1%,当放任时相比前一天下降1%。效果相差多少呢?实例代码3.3:天天向上运行结果如下,每天努力1%,一年下来将提高37倍。这个相当惊人吧!实例代码3.3e3.3DayDayUp365.py123456#e3.3DayDayUp365.pyimportmathdayfactor=0.01dayup=math.pow((1.0+dayfactor),365)#提高dayfactordaydown=math.pow((1.0-dayfactor),365)#放任dayfactorprint(向上:{:.2f},向下:{:.2f}..format(dayup,daydown))实例代码3.4:天天向上一年365天,一周5个工作日,如果每个工作日都很努力,可以提高1%,仅在周末放任一下,能力值每天下降1%,效果如何呢?实例代码3.4:天天向上猜猜运行结果?每周努力5天,而不是每天,一年下
本文标题:Python电子教案3-1-基本数据类型
链接地址:https://www.777doc.com/doc-1231634 .html