一、什么是数据类型?
计算机不能直接识别用户输入的数据的类型,因此需要对数据进行明确的划分,然后根据需要传递相应的数据类型。
Python中常用的数据类型有:int、str、bool、list、tuple、dict。
int:数字,主要用于计算。如:1、2、3…
str:字符串存储少量数据,并进行相应的操作。如:name=‘vae’
bool:布尔值,判断真假。如:True、False
list:列表,大量有序的数据。如:[1,‘name’,True,[1,2,3],{‘name’:chengzhipeng}]
tuple:元祖,只读,不能修改。如:(‘age’,22)
dict:字典,大量数据,且是关联性较强的数据。如:{‘name’:‘czp’,age:22,hobby:[‘看书’,‘写作’]}
二、基本数据类型
2.1 int:数字
2.1.1 二进制与十进制的转换
2.1.2 int的方法
bit_length:计算整数转换为二进制的最小位数,也就是在内存中占用的二进制码的长度
i = 10
print(i.bit_length)
#运行结果:4
2.2 bool:布尔值
布尔值只有两种:True、False
bool、int、str之间的转换规则:
1、bool和int之间的转换
2、int和str之间的转换
3、bool和str之间的转换
2.3 str:字符串
Python中用引号引起来的都可以认为是字符串,组成字符串的元素是字符。
2.3.1 字符串的索引和切片
索引即下标,从0开始。
s='abcdefg'
print(s[0],s[-1])
# 结果为:a,g
切片即通过索引(索引:索引:步长)截取字符串中的一部分,形成新的字符串。
原则:顾头不顾腚
s='abcdefg'
print(:) # 输出整个字符串
print(1:5:2) # 输出结果为:b,d
print(-1:-5:-2) # 反向加步长
2.3.2 字符串的方法
字符串除了切片以外,还有别的方法。
capitalize:首字母大写,其他字母小写
s = 'chengZhipeng'
s1 = s.capitalize()
print(s1) # 输出结果:Chengzhipeng
swapcase:大小写翻转
s = 'chengZhipeng'
s1 = s.swapcase()
print(s1) # 输出结果:CHENGzHIPENG
upper:全部大写
lower:全部小写
title:以特殊字符(’ ‘、‘1’、’*’ 等)隔开的字符串首字母大写
s = 'i am-cheng1zhi/peng'
s1 = s.title()
print(s1) # 输出结果:i Am-Cheng1Zhi/Peng
center: 多位并居中显示,可填充。
s = 'ChengZhiPeng'
s1 = s.center(20,'*')
print(s1) # 输出结果为:****Chengzhipeng****
expendtabs:将\t转化为tab效果
s = '名字\t年龄\t身高'
s1 = s.expandtabs()
print(s1) # 输出结果为:名字 年龄 身高
2.3.3 字符串的公共方法
len:字符串长度 注:使用格式为len(s) 返回格式为int。
s = 'chengzhipeng'
s1 = len(s)
print(s1,type(s1))
startswith:判断是否以某字符或字符串开头 支持切片。
s = 'chengzhipeng'
s1 = s.startswith('e', 2, 7)
print(s1)
endswith:判断是否以某字符或字符串结束 支持切片。
s = 'chengzhipeng'
s1 = s.endswith('g', 2, 5)
print(s1)
find:在字符串中查找某字符或字符串并返回索引 未找到返回 -1
s = 'chengzhipeng'
s1 = s.find('peng', 0, 11)
print(s1)
index:在字符串中查找某字符或字符串并返回索引 未找到则报错
s = 'chengzhipeng'
s1 = s.index('peng', 0, )
print(s1)
strip:去除字符串前后的空格或其他字符 要删除多个字符则需要同时包含在参数中
s = ' *1cheng zhipeng1* '
s1 = s.strip('1*')
print(s1)
rstrip lstrip:从右边(左边)去除字符串前后的空格或其他字符
s = ' *1cheng zhipeng1* '
s1 = s.rstrip('1* ')
s2 = s.lstrip('1* ')
print(s1)
print(s2)
count:统计字符串中某字符或字符串出现频率 支持切片
s = ' cheng zhipeng '
s1 = s.count(' ', 0, )
print(s1)
split:以sep为界限将字符串分割
s = ' *cheng*zhipeng '
s1 = s.split('*')
print(s1)
format:格式化输出
name = 'chengzhipeng'
s = '我是{},今年{}岁,身高{}米'.format(name,22,1.85)
s1 = '我是{0},今年{1}岁,身高{2}米,我叫{0}'.format(name,22,1.85)
s2 = '我是{name},今年{age}岁,身高{height}米'.format(name='chengzhipeng',age=22,height=1.85)
print(s1)
replace:将字符串中某字符或字符串替换 可指定次数,默认为全部替换
s = ' chengzhipeng '
s1 = s.replace('en', '*', 1)
print(s1)
isalnum isalpha isdigit
s = 'chengzhipeng'
s1 = s.isalnum()
s2 = s.isalpha()
s3 = s.isdigit()
print(s3)
for…in…循环
s = 'ABCDEFG'
for i in s:
print(i)
in
s = input('请输入你的名字:')
if '涛' in s:
print('你的名字包含敏感词')