首页 > 技术文章 > 计算机二级python 知识点篇(数据类型)

BlogOfEr 2019-08-30 10:11 原文

计算机二级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可以是整数或浮点数

推荐阅读