计算机二级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语言转义符:
- 表示换行、 表示反斜杠、 '表示单引号、 "表示双引号、 表示制表符(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可以是整数或浮点数 |