二、常用的数据类型的使用
文章目录
1.数值类型
数据类型对应的数据的值是不可变量
num = 11
num = 12
如果发生了改变的话 只是新生成了一个数据 与原来的数据无关
代表的整数 python3中数据的大小是没有限制的 可以当做long来使用 只有int但是有long的特性
2.常用方法
系统默认提供内置方法
# 系统提供的内置方法
# 1.绝对值
res = abs(-10)
print(res)
# 2.比较两个整数的大小
"""
python2x 与 python3.x区别
2.x中
cmp(x,y)
x>y 返回的结果1
x<y 返回的结果-1
x==y 返回的结果0
3.x中
0表示False 1表示True
(x>y) - (x<y)
"""
res = (15>12) - (15<12)
print(res)
#3.获取序列中的最大值
# 1 2 3 5 8 7 912 213
res = max(1,2,3,5,8,7,912,213)
print(res)
# 4.获取序列中的最小值
res = min(73,45)
print(res)
# 5.求幂数 x的y次方
res = pow(3,2)
print(res)
# 6.四舍五入
res = round(1.25)
print(res)
# help()
help(round)
# 想保留一位小数
res = round(1.75,1)
print(res)
# 系统还提供了math模块
3.字符串类型
标识:由单引号或者双引号包含的单个或者多个字符
“a” “12345”
# 常用字符串方法
# 1.声明一个字符串
str0 = "good morning"
print(str0)
# 2.字符中的运算 + *
str1 = "hello "
str2 = str1 + str0
print(str2)
print(str0)
print(str1)
# + 号
# str3 = str2 + 10 # TypeError: must be str, not int
# print(str3) 字符不能和整数拼接
str3 = str2 + str(10)
print(str3)
# * 号 翻倍拼接
str0 = "你..."
res = str0*8
print(res)
# 获取操作
# 3.获取字符串的字符长度
str0 = "good good study day day up"
res = len(str0)
print(res)
# 4. 获取某个位置上的字符
"""
在字符串中的字符 也有自己的编号 编号从0开始
26个字符 0 ~ 25 0 ~ len(str0)-1
也可以用负数来表示: -len(str0) ~ -1
"""
res = str0[-26]
print(res)
# 5.切片 获取子串
"""
[start:stop[:step]]
start -- 指定的起始位置 如果不传值 默认是0
stop -- 指定的结束位置 如果不传值 默认到最后结束
stop -- 步长 间隔多少个 默认是1
[start:stop) 前闭后开
"""
print(str0)
sub = str0[:]
print(sub)
sub = str0[2:]
print(sub) # od good study day day up
sub = str0[:5]
print(sub) # good
sub = str0[2:11]
print(sub) # od good s
sub = str0[::2]
print(sub) #go odsuydydyu
sub = str0[::-1] # 如果步长 -1 起始位置和结束位置不传值 那么这组数据是倒序
print(sub)
sub = str0[10:1:-1]
print(sub) # s doog do
# 获取某个字符第一次出现的位置
'''
find(sub[,start,end])
找到就放回这个字符第一次出现的位置 否则-1
'''
res = str0.find("day")
print(res) # 16 第一次出现的位置
# 从那个开始到结束
index = str0.find("day",0,15)
print(index) # -1
index = str0.find("day",17)
print(index) # 20
# 最后一次出现的位置 good good study day day up
index = str0.rfind("o",5)
print(index)
# 获取序列中重复的个数
"""
count([,start,end])
"""
# good good study day day up
num = str0.count("day")
print(num)
num = str0.count("o",5)
print(num)
num = str0.count("o",2,4)
print(num) # 1
str1 = "akkabckkkk123"
num = str1.count("kk")
print(num)
print(str0[2:4]) #good good ood od
# 前闭后开 0 - 4
# 切割字符串
"""
split()
"""
str0 ="good morning nice to meet you"
res = str0.split(" ")
print(res)
# for item in res:
# print(item)
# 可以传入第二个参数 限制切几刀
res = str0.split(" ",3)
print(res)
# 取出字符串两边指定的字符序列
str0 = "\nabc abc\n"
print(str0,end="")
str0 = "123abcdef123"
res = str0.strip("123")
print(res)
# 只去掉左边
res = str0.lstrip("123")
print(res)
res = str0.rstrip("123")
print(res)
# 字符串的格式化操作
"""
r 格式化字符串 -- 保持路径中\的本意 无需使用\\进行转义
\ 代表转义
"""
path = r"D:\Anaconda3\sip\PyQt5\QtTest\test"
print(path)
print("\"")
# 显示多行字符串
"""
good
nice to meet you too
beautiful
"""
content = "good\nnice to meet you too\nbeautiful"
print(content)
# 保持字符串原格式输出
content = """
good
nice to meet you too
beautiful
"""
print(content)
"""
he is a "bad" man
"""
res = "he is a 'bad' man"
print(res)
res = "he is a \"bad\" man"
print(res)
# 占位符
"""
%s -- 对象的数据 字符串 列表...
%d -- 整数 12 012 001
%0nd -- 保持整数显示n位数的格式
%f -- 小数
%.nf -- 小数保留n位小数
想把以下数据进行展示:
4 89.57
10 99.71
100 88.4
显示内容:
我的编号是004 成绩是89.6
我的编号是010 成绩是99.7
我的编号是100 成绩是88.4
"""
num = 4
score = 89.57
res = "我是编号是"+str(4) + "成绩是"+str(round(score,1))
print(res)
res = "我的编号是%03d 成绩是%.1f" % (num,score)
print(res)
# 转换方法
# 1.将字符串的大写字母转换为小写字母
str0 = "aHello Good"
res = str0.lower()
print(res)
# 2. 小写字母转换大写字母
res = str0.upper()
print(res)
# 3. 第一个字母变为大写 其余变小写
res = str0.capitalize()
print(res)
# 4. 每个单词首字母大写 其他的都小写【单词和单词之间空格隔开】
res = str0.title()
print(res)
# 字符串显示的格式
#1.在指定宽度的条件下 字符串居中显示
str0 = "good"
res = str0.center(20)
print(res)
# 填充其他位置
res = str0.center(20,"*")
print(res)
# 居左
res = str0.ljust(20,"*")
print(res)
# 居右
res = str0.rjust(20,"9")
print(res)
# 判断操作
#1.判断字符是否是以指定的内容开头
path = r'test.png'
res = path.startswith("ste")
print(res)
# 2.判断字符是否是以指定的内容结尾
res = path.endswith("png")
print(res)
# 3.判断字符串是否是纯数字
str0 = "1013465746"
res = str0.isdigit()
print(res)
# 替换字符操作
str0 = "you are very beautiful a a"
res = str0.replace('a',"A")
print(res)
res = str0.replace('a',"A",2)
print(res)
# 拼接 用某个符号拼接
str0 = "abc1def1opq"
res = str0.split("1")
print(res)
value = "1".join(res)
print(value)
#将字符串转换为对应字节数据
""" unicodey一种
utf-8 一个汉字占3个字节
gbk 一个汉字占2个字节
"""
str0 = "A"
res = str0.encode("utf-8")
print(res)
#解码
value = res.decode("utf-8")
print(value)
res =str0.encode("gbk")
print(res)
value = res.decode('gbk')
print(value)