计算机等级考试二级Python讲座(三)
摘要:表示输出整数和浮点数类型的格式规则。Python语言提供3种数字类型:整数类型、浮点数类型和复数类型,分别对应数学中的整数、实数和复数。
计算机等级考试二级
Python
讲座
第三章 基本数据类型
by 赵老师 编程大本营
考纲考点
- 数字类型:整数类型、浮点数类型和复数类型
- 数字类型的运算:数值运算操作符、数值运算函数
- 字符串类型及格式化:索引、切片、基本的format()格式化方法
- 字符串类型的操作:字符串操作符、处理函数和处理方法
- 类型判断和类型间转换
01
数字类型
数字类型概述
Python语言提供3种数字类型:整数类型、浮点数类型和复数类型,分别对应数学中的整数、实数和复数。
1010是一个整数类型,10.10是一个浮点数类型,10 + 10j是一个复数类型
整数类型
与数学中的整数概念一致,没有取值范围限制
整数类型有4种进制表示:十进制、二进制、八进制和十六进制。默认情况,整数采用十进制,其他进制需要增加引导符号,例如:
1010, -1010, 0b1010, 0o1010, 0x1010
不同进制的整数间可以直接运算
浮点数类型
带有小数点及小数的数字Python语言中的浮点数类型必须带有小数部分,小数部分可以是0。例如:1010是整数,1010.0是浮点数。
浮点数有2种表示方法:十进制形式的一般表示和科学计数法表示。除十进制外,浮点数没有其他进制表示形式。下面是浮点数类型的例子:1010.0, -1010., 1.01e3, -1.01E-3科学计数法使用字母e或者E作为幂的符号,以10为基数,含义如下:
<a>e<b> = a*10^b
上例中,1.01e3值为1010.0;-1.01E-3值为0.00101。Python浮点数类型的数值范围和小数精度受不同计算机系统的限制。除高精度科学计算外的绝大部分运算来说,浮点数类型的数值范围和小数精度足够“可靠”。
复数类型
复数类型表示数学中的复数。复数有一个基本单位元素j,叫作“虚数单位”。含有虚数单位的数,被称为复数。例如:11.3+4j -5.6+7j 1.23e-4+5.67e+89j
Python语言中,复数可以看作是二元有序实数对(a, b),表示为:a + bj,其中,a是实数部分,简称实部,b是虚数部分,简称虚部。虚数部分通过后缀“J”或者“j”来表示。需要注意,当b为1时,1不能省略,即 1j表示复数,而j则表示Python程序中的一个变量。
02
数学类型的运算
Python提供了9个基本的数值运算操作符
数值运算操作符
上标所有二元运算操作符(+、-、*、/、//、%、**)都可以与等号(=)相连,形成增强赋值操作符(+=、-=、*=、/=、//=、%=、**=)。用op表示这些二元运算操作符,增强赋值操作符的用法如下:
x op= y 等价于 x = x op y
数值运算可能改变结果的数据类型,类型的改变与运算符有关,有如下基本规则:
- 整数和浮点数混合运算,输出结果是浮点数;
- 整数之间运算,产生结果类型与操作符相关,/ 运算的结果是浮点数;
- 整数或浮点数与复数运算,输出结果是复数。
数值运算函数
Python解释器提供了一些内置函数,在这些内置函数之中,有6个函数与数值运算相关
03
字符串类型及格式化
字符串类型
字符串是字符的序列表示,根据字符串的内容多少分为单行字符串和多行字符串。
单行字符串可以由一对单引号(')或双引号("),作为边界来表示,单引号和双引号作用相同。
多行字符串可以由一对三单引号(''')或三双引号(""")作为边界来表示,两者作用相同。
Python语言转义符: 。例如:n表示换行、表示反斜杠、'表示单引号、"表示双引号、t表示制表符(TAB)等。
format()方法的基本使用
字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({})表示,对应format()方法中逗号分隔的参数。
如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。
可以通过format()参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号
format()方法的格式控制
format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。
{<参数序号>: <格式控制标记>}
其中,格式控制标记用来控制参数显示时的格式 。格式控制标记包括:<填充><对齐><宽度>,<.精度><类型>6个字段,这些字段都是可选的,可以组合使用
<填充>、<对齐>和<宽度>主要用于对显示格式的规范。
宽度指当前槽的设定输出字符宽度,如果该槽参数实际值比宽度设定值大,则使用参数实际长度。如果该值的实际位数小于指定宽度,则按照对齐指定方式在宽度内对齐,默认以空格字符补充。
对齐字段分别使用<、>和^三个符号表示左对齐、右对齐和居中对齐。
填充字段可以修改默认填充字符,填充字符只能有一个。
<.精度><类型>主要用于对数值本身的规范
<.精度>由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。小数点可以理解为对数值的有效截断。
<类型>表示输出整数和浮点数类型的格式规则。
对于整数类型,输出格式包括6种:
- b: 输出整数的二进制方式;
- c: 输出整数对应的Unicode字符;
- d: 输出整数的十进制方式;
- o: 输出整数的八进制方式;
- x: 输出整数的小写十六进制方式;
- X: 输出整数的大写十六进制方式;
对于浮点数类型,输出格式包括4种:
- e: 输出浮点数对应的小写字母e的指数形式;
- E: 输出浮点数对应的大写字母E的指数形式;
- f: 输出浮点数的标准浮点形式;
- %: 输出浮点数的百分形式。
04
字符串类型的操作
字符串操作符
针对字符串,Python语言提供了几个基本操作符
字符串处理函数
Python语言提供了一些对字符串处理的内置函数
字符串处理方法
方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,而方法则采用<a>.func(x)形式调用。方法仅作用于前导对象<a>。
str.split(sep)能够根据sep分隔字符串str,分割后的内容以列表类型返回。
str.count(sub)方法返回字符串str中出现sub的次数,sub是一个字符串。
str.replace(old, new)方法将字符串str中出现的old字符串替换为new字符串,old和new的长度可以不同。
str.center(width, fillchar)方法返回长度为width的字符串,其中,str处于新字符串中心位置,两侧新增字符采用fillchar填充,当width小于字符串长度时,返回str。其中,fillchar是单个字符。
str.strip(chars)从字符串str中去掉在其左侧和右侧chars中列出的字符。chars是一个字符串,其中出现的每个字符都会被去掉。
str.join(iter)中iter是一个具备迭代性质的变量,该方法将str字符串插入iter变量的元素之间,形成新的字符串。
05
类型判断和类型间转换
数字类型的转换
Python语言提供type(x)函数对变量x进行类型判断,适用于任何数据类型。
数值运算操作符可以隐式地转换输出结果的数
字类型,例如,两个整数采用运算符“/”的除法
将可能输出浮点数结果。
此外,通过内置的数字类型转换函数可以显式
地在数字类型之间进行转换
06
实例解析:恺撒密码
恺撒密码
恺撒撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
原文字符P,其密文字符C满足如下条件:
C = ( P + 3 ) mod 26
n 解密方法反之,满足:
P = ( C – 3 ) mod 26
恺撒密码的加密算法程序首先接收用户输入的文本,然后对字母a-z和字母A-Z按照密码算法进行转换
恺撒密码的解密算法程序首先接收用户输入的加密文本,然后对字母a-z和字母A-Z按照密码算法进行反向转换
07
本章小结
本章具体讲解了计算机中常用的数字类型及操作,包括Python数值运算操作符和数值运算函数。进一步讲解了字符串类型及格式化、字符串操作符、字符串处理函数和字符串处理方法等。最后,本章还介绍了类型判
断和类型转换的基本方法,通过对恺撒密码及其变种若干实例的讲解帮助读者加深对数据类型操作的理解。
有没有一个人,你想给TA传个小纸条?用恺撒密码一展身手吧。
THIS IS THE END OF CHARPTER 3