计算机二级python 知识点篇(数据类型)

基本数据类型

数字类型

Python语言提供3种数字类型: 整数类型、 浮点数类型和复数类型, 分别对应数学中的整数、 实数和复数。

整数类型

进制种类

引导符号

描述

十进制


默认情况, 例: 1010,-1010

二进制

0b 或 0B 由字符0和1组成,

例: 0b1010, 0B1010

八进制

0o 或 0O 由字符0到7组成,

例: 0o1010, 0O1010

十六进制

0x 或 0X 由字符0到9、 a到f或A到F组成,

例: 0x1010

浮点数类型

  • 浮点数有2种表示方法: 十进制形式的一般表示和科学计数法表示。 除十进制外, 浮点数没有其他进制表示形式 -1.3e3 -2.5E5

复数类型

  • Python语言中, 复数可以看作是二元有序实数对(a, b),表示为: a + bj, 其中, a是实数部分,简称实部,b是虚数部分,简称虚部。 虚数部分通过后缀“J”或者“j”来表示。 需要注意, 当b为1时,1不能省略, 即 1j表示复数, 而j则表示Python程序中的一个变量。
  • 复数类型中实部和虚部都是浮点类型, 对于复数z, 可以用z.real和z.imag分别获得它的实数部分和虚数部分

Python提供了9个基本的数值运算操作符

操作符

描述

x + y

x与y之和

x - y

x与y之差

x * y

x与y之积

x / y

x与y之商

x // y

x与y之整数商, 即: 不大于x与y之商的最大整数

x % y

x与y之商的余数, 也称为模运算

-x

x的负值, 即: x*(-1)

+x

x本身

x**y

x的y次幂, 即: xy

数值运算可能改变结果的数据类型, 类型的改变与运算符有关, 有如下基本规则:

  • 整数和浮点数混合运算, 输出结果是浮点数;
  • 整数之间运算, 产生结果类型与操作符相关, /运算的结果是浮点数;
  • 整数或浮点数与复数运算, 输出结果是复数。

内置函数

函数

描述

abs(x)

x的绝对值

divmod(x, y)

(x//y, x%y), 输出为二元组形式(也称为元组类型)

pow(x, y[, z])

(x**y)%z, [..]表示该参数可以省略, 即: pow(x,y), 它与x**y相同

ound(x[, ndigits])

对x四舍五入, 保留ndigits位小数。 round(x)返回四舍五入的整数值

max(x1, x2, …, xn)

x1, x2, …, xn的最大值, n没有限定

min(x1, x2, …, xn)

x1, x2, …, xn的最小值, n没有限定

字符串类型

Python语言转义符: \

  • \n表示换行、 \表示反斜杠、 '表示单引号、 "表示双引号、 \t表示制表符(TAB) 等。

字符串操作符

针对字符串, Python语言提供了几个基本操作符 :

操作符

描述

x + y

连接两个字符串x与y

x * n 或 n * x

复制n次字符串x

x in s

如果x是s的子串, 返回True, 否则返回False

>>>name = "Python语言" + "程序设计"
>>>name
'Python语言程序设计'
>>>"等级考试!" * 3
'等级考试!等级考试!等级考试!'
>>>"语言" in name
True
>>>'Y' in name
False

字符串处理函数

Python语言提供了一些对字符串处理的 内置函数:

函数

描述

len(x)

返回字符串x的长度, 也可返回其他组合数据类型的元素个数

str(x)

返回任意类型x所对应的字符串形式

chr(x)

返回Unicode编码x对应的单字符

ord(x)

返回单字符x表示的Unicode编码

hex(x)

返回整数x对应十六进制数的小写形式字符串

oct(x)

返回整数x对应八进制数的小写形式字符串

bin(x)

返回整数x对应二进制数小写形式字符串

>>>len("全国计算机等级考试Python语言科目")
19
>>>chr(10000)
'✐‘
>>>hex(1010)
'0x3f2'

字符串处理方法

方法

描述

str.lower()

返回字符串str的副本, 全部字符小写

str.upper()

返回字符串str的副本, 全部字符大写

str.split(sep=None)

返回一个列表, 由str根据sep被分割的部分构成

str.count(sub)

返回sub子串出现的次数

str.replace(old, new)

返回字符串str的副本, 所有old子串被替换为new

str.center(width, fillchar)

字符串居中函数, fillchar参数可选

str.strip(chars)

从字符串str中去掉在其左侧和右侧chars中列出的字符

str.join(iter)

将iter变量的每一个元素后增加一个str字符串

# split()
>>>"Python is an excellent language.".split()
['Python', 'is', 'an', 'excellent', 'language.']
>>>"Python is an excellent language.".split('a')
['Python is ', 'n excellent l', 'ngu', 'ge.']
>>>"Python is an excellent language.".split('an')
['Python is ', ' excellent l', 'guage.']

# count()
>>>"Python is an excellent language.".count('a')
3

# replace()
>>>"Python is an excellent language.".replace('a', '#')
'Python is #n excellent l#ngu#ge.'
>>>"Python is an excellent language.".replace('Python', 'C')
'C is an excellent language.'

# center()
>>>"Python".center(20, "=")
'=======Python======='
>>>"Python".center(2, "=")
'Python'

# str.strip(chars)
# 从字符串str中去掉在其左侧和右侧chars中列出的字符。 chars是一个字符串,其中出现的每个字符都会被去掉。
>>>"   ==Python==   ".strip(' ')
'==Python=='
>>>" ==Python== ".strip(' =')
'Python'
>>>" ==Python== ".strip(' =n')
'Pytho'

# str.join(iter)中iter是一个具备迭代性质的变量, 该方法将str字符串插入iter变量的元素之间, 形成新的字符串
>>>" ".join('PYTHON')
'P Y T H O N'
>>>",".join('12345')
'1,2,3,4,5'
>>>",".join(['1', '2', '3', '4', '5'])
'1,2,3,4,5'

format()方法的使用

  • 字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
>>>"{}曰: 学而时习之, 不亦{}。 ".format("孔子","说乎")
'孔子曰: 学而时习之, 不亦说乎。 '
>>>"{1}曰: 学而时习之, 不亦{0}。 ".format("说乎","孔子")
'孔子曰: 学而时习之, 不亦说乎。 '
  • format()方法的格式控制
    format()方法中模板字符串的槽除了包括参数序号, 还可以包括格式控制信息。
    {<参数序号>: <格式控制标记>}
    其中, 格式控制标记用来控制参数显示时的格式 。 格式
    控制标记包括:<填充><对齐><宽度><.精度><类型> 6个字段,这些字段都是可选的,可以组合使用
>>>s = "等级考试"
>>>"{:25}".format(s) #左对齐, 默认
'等级考试               '
>>>"{:^25}".format(s) #居中对齐
'          等级考试        '
>>>"{:>25}".format(s) #右对齐
'                  等级考试'
>>>"{:*^25}".format(s) #居中对齐且填充*号
'**********等级考试***********'
>>>"{:+^25}".format(s) #居中对齐且填充+号
'++++++++++等级考试+++++++++++'
>>>"{:十^25}".format(s) #居中对齐且填充汉字“十”
'十十十十十十十十十十等级考试十十十十十十十十十十十'
>>>"{:^1}".format(s) #z指定宽度为1, 不足变量s的宽度
'等级考试

<.精度>由小数点(.) 开头。 对于浮点数, 精度表示小数部分输出的有效位数。对于字符串, 精度表示输出的最大长度。 小数点可以理解为对数值的有效截断

>>>"{:.2f}".format(12345.67890)
'12345.68'
>>>"{:>25.3f}".format(12345.67890)
' 12345.679'
>>>"{:.5}".format("全国计算机等级考试")
'全国计算机'

<类型>表示输出整数和浮点数类型的格式规则。
对于整数类型, 输出格式包括6种:
• b: 输出整数的二进制方式;
• c: 输出整数对应的Unicode字符;
• d: 输出整数的十进制方式;
• o: 输出整数的八进制方式;
• x: 输出整数的小写十六进制方式;
• X: 输出整数的大写十六进制方式;

>>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,Ʃ,425,651,1a9,1A9'

对于浮点数类型, 输出格式包括4种:
• e: 输出浮点数对应的小写字母e的指数形式;
• E: 输出浮点数对应的大写字母E的指数形式;
• f: 输出浮点数的标准浮点形式;
• %: 输出浮点数的百分形式。

>>>"{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
>>>"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14) # 对比输出 
'3.14e+00,3.14E+00,3.14,314.00%'

数据类型转换

  • Python语言提供type(x)函数对变量x进行类型判断, 适用于任何数据类型
n = eval(input('请输入一个数字:'))
if type(n) == type(123):
print("输入的数字是整数。 ")
elif type(n) == type(11.3):
print("输入的数字是浮点数。 ")
else:
print("无法判断输入类型。 ")
  • 数值运算操作符可以隐式地转换输出结果的数字类型, 例如, 两个整数采用运算符“/”的除法将可能输出浮点数结果。
  • 此外, 通过内置的数字类型转换函数可以显式在数字类型之间进行转换

函数

描述

int(x)

将x转换为整数, x可以是浮点数或字符串

float(x)

将x转换为浮点数, x可以是整数或字符串

str(x)

将x转换为字符串, x可以是整数或浮点数