Python笔记2

Python笔记2,第1张

概述二、数字类型1.整数类型整数类型与数学的整数的概念一致。(别说你不懂[敲打])进制种类引导符号描述十进制无默认情况,eg:1010,-64二进制0b或0B由字符0和1组成,eg:0b101,0B101八进制0o或0O由字符0到7组成,eg:0o101,0O71十六进制0x或0X由字符0到9、a到f、A到F组成,其中a(A)到f(F) 二、数字类型1. 整数类型

整数类型与数学的整数的概念一致。(别说你不懂[敲打])

进制种类引导符号描述
十进制默认情况,eg:1010,-64
二进制0b或0B由字符0和1组成,eg:0b101,0B101
八进制0o或0O由字符0到7组成,eg:0o101,0O71
十六进制0x或0X由字符0到9、a到f、A到F组成,其中a(A)到f(F)代表10~15。eg:0xABC

注意:二、八、十六进制的引导符号的首个字符是“0”,而不是“o”。(笔者就曾因为这个犯过错,不知道你会不会?[苦涩])
要算其他进制的自己动手设计程序噢![自己动手丰衣足食]

# 这里给出笔者设计的程序,要自己思考,欢迎分享程序!ls=[]def convert(n,base):    i=int(n%base)    j=int(n/base)    if i>9:        i=chr(i+55)        ls.append(i)    else:        ls.append(i)    if j<base:        ls.append(j)    else:        convert(j,base)n = int(input("请输入转换的数字:"))base = int(input("请输入转换的进制:"))convert(n,base)for i in range(len(ls)):    print(ls[i],end='')
2. 浮点数类型

浮点数类型与数学中的实数概念一致,表示带有小数的数值。Python语言要求所有的浮点数都必须带有小数部分,小数部分可以是0,用以区分整数类型。表示方法有以下两种:
① 十进制表示:0.0;11.(注意看小数点);-6.4;3.1415926。
② 科学计数法:使用e或E作为幂的符号,以10为基数,含义如:aeb=a*10^b。
64e4=64x10**4=64e+4;4.3e-3=4.3x10^(-3)。注意负号;6.6E5。

浮点数的数值范围和小数精度受不同计算机系统的限制。sys.float_info详细列出了Python解释器所运行系统的浮点数各项参数:

#此处采用IDEL交互式编译模式>>>import sys>>>sys.float_infosys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

浮点数运算输出17个数字长度的结果,然而只有前面15个是正确的,最后一位由计算机根据二进制计算结果确定,存在误差,而整数运算能提供完全准确的结果,往往采用整数运算。使用整数表达浮点数的方法是高精度运算的基本方法之一。

>>>3.141592653*1.2345678983.8785094379864535>>>3141592653*12345678993878509437986453394

拓展

Python通过标准库decimal提供了一个更精确的数字类型Decimal,这个类型利用上文介绍的整数运算方法提供高精度浮点数运算,并可以使用getcontext().prec参数自定义浮点数精度的位数。

>>>import decimal>>>a=decimal.Decimal('3.141592653')>>>b=decimal.Decimal('1.234567898')>>>decimal.getcontext().prec=20>>>a*bDecimal('3.878509437986453394')#需要注意的是:在使用decimal库时,Decimal('数字')是高精度数字的基本表示形式,需要使用单引号。
3. 复数类型

复数类型表示数学中的复数。Python语言中复数的虚部部分通过后缀“j”或“J"来表示,eg:1.23+4j;56+7j;0.89-10j。需要注意的一点就是复数类型的实数部分很虚数部分都是浮点数。
对于一个复数z,可以用z.real和z.imag分别获得它的实数部分和虚数部分。

4.数学类型的 *** 作

4.1 内置的数值运算 *** 作符

*** 作符描述
x + yx与y之和
x - yx与y之差
x * yx与y之积
x / yx与y之商
x // yx与y之整数商,即不大于x与y之商的最大整数
x % yx与y之商的余数,也称为模运算,主要用于有周期规律的场景,本质上,整数的模运算能将整数n映射到[0,m-1]的区间中
-xx的负值,即x*(-1)
+xx本身
x ** yx的y次幂,即x^y

*** 作运算符的结果可能改变数字类型,三种数字类型之间存在一种扩展关系:整数->浮点数->复数。
上表中的二元 *** 作符都有与之对应的增强赋值 *** 作符:+=;-=;*=;/=;//=;%=;**=。
eg:x+=y<==>x=x+y

4.2 内置的数值运算函数

函数描述
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没有限定
>>>abs(3-4j)5.0>>>divmod(16,4)(4,0)>>>pow(2,10)1024>>>round(3.14)3>>>max(1,2,3,4,5,6,7)7>>>min(1,2,3,4,5)1

4.3 内置的数字类型转换函数

函数描述
int(x)将x转换为整数,x可以是浮点数或字符串,不可以是复数,字符串内的数字只能是整数,不能是浮点数
float(x)将x转换成浮点数,x可以是整数或字符串,不可是复数
complex(re[,im])生成一个复数。实部为re,虚部为im,re可以是整数、浮点数、字符串,im可以是整数、浮点数但不可以是字符串

注意:字符串里的数值也必须是数字类型才可以

凡事自己试了才知道
5.math库的使用

math库是Python的内置数学类函数库,又称标准库。math库不支持复数类型,仅支持整数和浮点数运算。math库一共提供44个数学常数和44个函数。44个函数分为四类:包括16个数值表示函数,8个幂对数函数,16个三角对数函数,4个高等特殊函数。
math库的函数不能直接使用,需要使用保留字import导入math库,导入方法前面已描述。
5.1 math库的四个数学常数

常数描述
math.pi圆周率,值为4.141592653589793
math.e自然对数,值为2.718281828459045
math.inf正无穷大,负无穷大为-math.inf
math.nan非浮点数标记,NaN(Not a Number)

5.2 math库的16个数值表示函数

函数描述
math.fabs(x)返回x的绝对值
math.fmod(x,y)返回x与y的模
math.fsum([x,y,…])浮点数精确求和
math.ceil(x)向上取整,返回不小于x的最小整数
math.floor(x)向下取整,返回不大于x的最大整数
math.factoria(x)返回x的阶乘,如果x是小数或负数,返回ValueError(一种异常)
math.ged(a,b)返回a与b的最大公约数
math.frexp(x)x=m*2e,返回(m,e),当x=0时,返回(0.0,0)
math.ldexp(x,t)返回x*2^i运算值,math.prexp(x)的反运算
math.modf(x)返回x的小数部分和整数部分
math.trunc(x)返回x的整数部分。等同与math.floor(x)
math.copysign(x,y)用数值y的正负号替换数值x的正负号
math.isclose(a,b)比较a,b的相似性,返回True或False
math.isfinite(x)当x为无穷大,返回True;否则返回False
math.isinf(x)当x为正数或负数无穷大,返回True;否则返回False
math.isnan(x)当x是NaN,返回True;否则返回False
'''按照笔者的理解,math.isclose(a,b)的用法如下:此方法使用相对或绝对公差来查看值是否接近。它使用以下公式比较这些值:abs(a-b) <= max(rel_tol * max(abs(a),abs(b)),abs_tol)调用语法:math.isclose(a,b,rel_tol,abs_tol)参数说明参数描述a必需的参数, 检查紧密度的第一个值b必需的参数, 检查紧密度的第二个值rel_tol = value可选的,相对公差。它是值a和b之间的最大允许差。 默认值为1e-09abs_tol = value可选的,最小绝对公差。它用于比较接近0的值。该值必须至少为04、方法说明返回值:一个bool值。 如果值接近则为True,否则为False'''>>>import math>>>math.isclose(8.005, 8.450, abs_tol = 0.4)False>>>math.isclose(8.005, 8.450, abs_tol = 0.5)True
#按照笔者的理解,math.isnan(x)的用法如下:>>>import math>>>nana=float("nan")>>>nanb=math.nan>>>math.isnan(nana)True>>>math.isnan(nanb)True

看到这么多函数,你晕了吗?你记住了吗?熟能生巧,赶紧练起来
(っ•̀ω•́)っ✎⁾⁾ 我爱学习(っ•̀ω•́)っ✎⁾⁾ 我爱学习

5.3 math库的8个幂对数函数

函数描述
math.pow(x,y)返回x的y次幂
math.exp(x)返回e的x次幂,e是自然对数
math.expm1(x)返回e的x次幂减1
math.sqrt(x)返回x的平方根
math.log(x[,base])返回x的对数值,base是底,只输入x时,返回自然对数,即lnx
ath.log1p(x)返回1+x的自然对数值
math.log2(x)返回x的2对数值
math.log10(x)返回x的10对数值

(。_ 。) ✎_学习计划走起

5.4math库的16个三角运算函数

函数数学表示描述
mathdegre(x)角度x的弧度值转角度值
math.radians(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是弧度值
math.atan(x)arctanx返回x的反正切函数值。x是弧度值
math.atan2(y,x)arctan(y/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的反双曲余弦函数值
mathatanh(x)arctanhx返回x的反双曲正切函数值

∑(っ°Д°;)っ卧槽,我手不见了

5.5 math库的4个高等特殊函数

函数描述
math.erf(x)高斯误差函数,应用于概率论、统计学等领域
math.erfe(x)余补高斯误差函数,matherfe(x)=1 - math.erf(x)
math.gamma(x)伽玛(Gamma)函数,也叫欧拉第二积分函数
math.lgamma(x)In(gamma(x)),伽玛函数的自然对数

:ஐ٩(๑´ᵕ`)۶ஐ: 学习使我进步

|
:ஐ٩(๑´ᵕ`)۶ஐ: 学习使我进步

总结

以上是内存溢出为你收集整理的Python笔记2全部内容,希望文章能够帮你解决Python笔记2所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1184561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存