一、数值类型
数值型包括 int(整型)、float(浮点型)和complex(复数型)等。
1. 整型
Python 3.x 支持任意大小的整型数。整型数可以表示成十进制、八进制、十六进制和二进制形式。
①十进制整型常量
>>> print(10 + 2)
12
②八进制整型常量
>>> print(0o10 + 2) #其中字母o大小写都可#
10
③十六进制整型常量
>>> print(0x10 + 2) #其中字母x大小写都可#
18
④二进制整型常量
>>> print(0b1101 + 100) #其中字母b大小写都可#
113
2. 浮点型
①浮点型是一种表达实数的方式,浮点数是浮点型实数。
②浮点型常量就是包含小数的常量,可直接写成带小数点的小数形式、可以使用指数形式。
>>> print(0.3 + 1.21) #小数计算#
1.51
>>> print(1e-6 + 2e-3) #指数计算#
0.002001
3. 复数型
复数包含实数与虚数。复数可表示成实部 + 虚部 j 形式。
①用complex(a[,b])可创建复数 a+bj 。
②使用“复数 .real”、“复数 .imag” 可以从复数中提取它的实部和虚部。
③使用abs( 复数 )可以用来计算复数的模,使用“复数 .conjugate()”可得到共轭复数。
④支持进行复数之间的加减乘除等运算
>>> x = 3+4j
>>> y= -5+6.2j
>>> print(x.real)
3.0
>>> print(x.imag)
4.0
>>> print(abs(x))
5.0
>>> print(x.conjugate())
(3-4j)
>>> print(x+y)
(-2+10.2j)
二、布尔型
①布尔值只有两个:真(True)和假(False)。
②布尔运算包括非(not)、与(and)和或(or)。
>>>e1 = 5
>>>e2 = 20
>>> print(bool(e1))
True
>>> print(e1>e2 and e2>e1)
False
>>> print(e2>e1 or e1)
True
>>> print(not e1>e2)
False
>>> print(True + 1)
2
#系统把True当作1#
>>> print(False * 0)
0
#系统把False当作0#
三、字符串类型
①字符串类型(str):表示一个字符或多个字符的序列。
②特征:字符串类型是不可变的,即不能修改字符串中的单个字符。
③使用方法:可以使用引号(单引号或双引号)将字符或字符序列括起来创建字符串。字符串支持许多操作,如拼接、切片、查找和替换等。
>>>str1 = Python
>>>str2 = 3.12.0
>>>print(str1 + str2)
Python3.12.0
>>>print(str1[2])
t
四、课本P49实训作业
1.
str1 = input("输入表达式(...)x,x=2,8,16:")
p1 = str1.find("(")
p2 = str1.find(")")
lens = len(str1)
jc = str1.split(")")[1].split(",")
if not(p2>p1 and p2+1<lens):
print("输入错误")
else:
es = str1[p1+1:p2]
for a in jc:
if a =='2':
n= bin(int(es))
x= eval(n)
elif a=='8':
n = oct(int(es))
x = eval(n)
elif a=='h':
n = hex(int(es))
x = eval(n)
print(es,"对应",a,"进制=",n,"相应的十进制=",x)
2.(1)
import re
info = '''本公司的联系方式:
固定电话:025-8541239x,
移动电话:1385151613x,
QQ:95845696x,
泰州分公司:0523-661231x,'''
print(info)
pattern = re.compile(r'(\d{3,4})-(\d{7,8})')
index = 0
result = pattern.search(info,index)
if result:
print('匹配内容:',result.group(0),\
'在',result.start(0),'和',result.end(0),'之间:',result.span(0))
print('匹配内容:', result.group(1), \
'在', result.start(0), '和', result.end(0), '之间:', result.span(1))
print('匹配内容:', result.group(2), \
'在', result.start(0), '和', result.end(0), '之间:', result.span(2))
phone = re.findall(r'移动电话:(.*?),', info)[0]
print('移动电话号码:', phone)
运行结果:
本公司的联系方式:
固定电话:025-8541239x,
移动电话:1385151613x,
QQ:95845696x,
泰州分公司:0523-661231x,
匹配内容: 025-8541239 在 15 和 26 之间: (15, 26)
匹配内容: 025 在 15 和 26 之间: (15, 18)
匹配内容: 8541239 在 15 和 26 之间: (19, 26)
移动电话号码: 1385151613x
(2)
import re
info = '''本公司的联系方式:
固定电话:025-8541239x,
移动电话:1385151613x,
QQ:95845696x,
泰州分公司:0523-661231x,'''
print(info)
pattern = re.compile(r'(\d{3,4})-(\d{7,8})')
index = 0
result = pattern.search(info,index)
if result:
print('匹配内容:',result.group(0),\
'在',result.start(0),'和',result.end(0),'之间:',result.span(0))
print('匹配内容:', result.group(1), \
'在', result.start(0), '和', result.end(0), '之间:', result.span(1))
print('匹配内容:', result.group(2), \
'在', result.start(0), '和', result.end(0), '之间:', result.span(2))
x = info.split('固定电话:')[1].split(',')[0]
print('固定电话:', x)
运行结果:
本公司的联系方式:
固定电话:025-8541239x,
移动电话:1385151613x,
QQ:95845696x,
泰州分公司:0523-661231x,
匹配内容: 025-8541239 在 15 和 26 之间: (15, 26)
匹配内容: 025 在 15 和 26 之间: (15, 18)
匹配内容: 8541239 在 15 和 26 之间: (19, 26)
固定电话: 025-8541239x