第3章 深入数字与字符串_第1页
第3章 深入数字与字符串_第2页
第3章 深入数字与字符串_第3页
第3章 深入数字与字符串_第4页
第3章 深入数字与字符串_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章深入数字与字符串3.1浮点数及复数Python语言提供3种数字类型:整数类型、浮点数类型和复数类型,分别对应数学中的整数、实数和复数。3.1.2浮点数类型Python语言中的浮点数类型必须带有小数部分,小数部分可以是0。例如:1010是整数,1010.0是浮点数。pow(x,y)函数:用来计算xy的值0.1+0.2浮点数中的特殊问题:结果为:0.30000000000000004在计算机内部,使用二进制表示浮点数,0.1对应的二进制为:0.00011001100110011001100110011001100110011001100110011010受限于计算机表示浮点数使用的存储宽度,这个二进制并不完全等于0.1,而是计算机能表示情况下最接近0.1的二进制。因此0.1+0.2的运算,在计算机内部是最接近0.1和0.2的两个数的加运算。因此,产生的数字接近0.3,但未必是最接近的,反映到十进制表示上,可能产生一个尾数,至于这个尾数具体是多少,计算机内部会根据二进制运算确定产生。然后从用户角度来看,这个尾数是不确定的,因此称为‘不确定尾数’不确定尾数问题在其他编程语言中也会出现,这是程序设计语言的共性问题。例:如何解决不确定尾数的问题?round(x,d)作用:对x进行四舍五入,其中参数d指定保留的小数位数。例:round(1.2346,2)round(1.2346,3)round(0.1+0.2,1)3.1.3复数类型例如:11.3+4j-5.6+7j1.23e-4+5.67e+89jPython语言中,复数可以看作是二元有序实数对(a,b),表示为:a+bj,其中,a是实数部分,简称实部,b是虚数部分,简称虚部。虚数部分通过后缀”J”或者”j”来表示。需要注意,当b为1时,1不能省略,即1j表示复数。复数类型中实部和虚部都是浮点类型,对于复数z,可以用z.real和z.imag分别获得它的实数部分和虚数部分(1.23e4+5.67e4j).real结果为:12300.0(1.23e4+5.67e4j).imag结果为:56700.01.23e4+5.67e4j.imag#先获得5.67e4j的虚部,再与1.23e4进行求和计算结果为:69000.03.2数字运算3.2.1数值运算操作符Python提供了9个基本的数值运算操作符操作符描述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没有限定学会使用帮助 python内置了很多内置函数、类方法属性及各种模块。当我们想要了解某种类型有哪些属性方法以及每种方法该怎么使用时,我们可以使用dir()函数和help()函数在pythonidle交互式模式下获得我们想要的信息。•dir()函数获得对象中可用属性的列表Python中的关键词有哪些?help(‘keywords‘):查看python关键词dir(__builtins__):查看python内置函数3.3字符串类型及格式化根据字符串的内容多少分为单行字符串和多行字符串。单行字符串可以由一对单引号(‘)或双引号(“)作为边界来表示,单引号和双引号作用相同。多行字符串可以由一对三单引号(‘‘’)或三双引号(""“)作为边界来表示,两者作用相同。•字符串类型\与其他符号组合,称为转义字符,即与后面相邻的一个字符共同组合成一个新的含义反斜杠\可以实现续行\n表示换行、\\表示反斜杠、\'表示单引号、\"表示双引号、\t表示制表符(TAB)等print("既需要'单引号'又需要\"双引号\"")既需要'单引号'又需要"双引号"例如:关于\的使用"青青子衿,悠悠我心。"[:4]补:"青青子衿,悠悠我心。"[5:][x:y:z]表示截取的子字符是从符串x开始,一直到y,其中步长为z。•字符串的格式化python语言中常常使用format()方法进行格式化。字符串格式化用于解决字符串和变量同时输出时的格式安排问题模板字符串.format(逗号分隔的参数)"{}曰:学而时习之,不亦{}。".format("孔子","说乎")'孔子曰:学而时习之,不亦说乎。'例:0101字符串中槽{}的顺序format()中参数的顺序如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。可以通过format()参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号'说乎曰:学而时习之,不亦孔子。'"{1}曰:学而时习之,不亦{0}。".format("孔子","说乎")format()方法的格式控制槽除了包括参数序号,还可以包括格式控制信息。用来控制参数显示时的格式。{参数序号:格式控制标记}:填充对齐宽度,.精度类型引导符号用于填充的单个字符<左对齐>右对齐^居中对齐槽的设定输出宽度数字的千位分隔符适用于整数和浮点数浮点数小数部分的精度或字符串的最大输出长度整数类型b,c,d,o,x,X浮点数类型e,E,f,%格式控制标记(注:字段都是可选的,可以组合使用)对于整数类型,输出格式包括6种:•b:输出整数的二进制方式;•d:输出整数的十进制方式;•o:输出整数的八进制方式;•x:输出整数的小写十六进制方式;•X:输出整数的大写十六进制方式;•c:输出整数对应的Unicode字符;对于浮点数类型,输出格式包括4种:•e:输出浮点数对应的小写字母e的指数形式;•E:输出浮点数对应的大写字母E的指数形式;•f:输出浮点数的标准浮点形式;•%:输出浮点数的百分形式。二进制数字字符ASCII3.4对字符串的操作针对字符串,Python语言提供了如下几个基本操作符:操作符描述x+y连接两个字符串x与yx*n或n*x复制n次字符串xxins如果x是s的子串,返回True,否则返回False字符串处理函数Python语言提供了一些对字符串处理的内置函数。函数描述len(x)返回字符串x的长度,也可返回其他组合数据类型的元素个数str(x)返回任意类型x所对应的字符串形式chr(x)返回Unicode编码x对应的单字符ord(x)返回单字符x表示的Unicode编码hex(x)返回整数x对应十六进制数的小写形式字符串oct(x)返回整数x对应八进制数的小写形式字符串字符串处理方法方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,而方法则采用<a>.func(x)形式调用。方法仅作用于前导对象<a>。方法描述a.lower()返回字符串a的副本,全部字符小写a.upper()返回字符串a的副本,全部字符大写a.split(sep)能够根据sep分隔字符串a,分割后的内容以列表类型返回。a.count(sub)返回字符串sub在a中出现的次数a.replace(old,new)返回字符串a的副本,所有old字符串被替换为newa.center(width,fillchar)字符串居中函数,fillchar参数可选a.strip(chars)从字符串a中去掉在其左侧和右侧chars中列出的字符a.join(iter)将iter变量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论