python学习day3
一:数据类型
- int型:用于计算
- bool型:用于判断
- str型:存储少量数据进行操作
- list:列表,用于存出大量数据 list = [1,2,'张三','李四','a']
- 元组:存储大量只读数据,不能写入 (1,2,3,'张三','李四','a')
- dict:字典,映射数据类型,由键(key)值(value)对组成
-
{'name':'张三','age':'18','hight','173'} 键值对
{'张三':['18','173'],'李四':['19','175']}
- 集合:常用于求交集并集等操作{1,2,3,4,'张三','李四','a'}
二、int型
1、基础运算:+ 、- 、* 、/ 、%、 **、 // ..........
2、求int型的数字转化为二进制的最小位数
i = 100 print(i.bit_length()) #7位 ''' int bit bit_length 1 0000 0001 1 2 0000 0010 2 3 0000 0011 2 '''
三、bool型
1、int和bool之间的相互转换
int--->bool : 只要是0,转化结果都是False;非0,转化结果都是True
bool--->int :True转化结果为1;False转化结果为0
ps:while 1 比 while True 效率更高(因为True还需要转化为1)
2、str和bool之间的转换
int--->bool :空字符串''(非空格)都是False;非空字符串'0'都是True
三、str索引和切片
list='123456789' # list[首:尾:步长] list1=list[0:3] #仅输出前三位,0为第一位,第四位为3不输出 list2=list[0:] #为空则输出所有 list3=list[-1] #输出最后一位 list4=list[0::2] #每两位输出一个,结果为:134579 [首:尾:步长] list5=lisy[-1:0:-1] #最后一个-1表示倒序输出
四、str的操作
- 大小写转换
s = 'abcdefGH' s1 = s.capitalize() # 首字母大写 s2 = s.upper() #全大写 s3 = s.lower() #全小写 s4 = s.swapcase() #大小写翻转(大写变小写,小写变大写)
#实际运用举例:输入验证码不区分大小写 s_str= 'acEQ1' you_input =input('请输入验证码,不区分大小写') if s_str.upper() == you_input.upper(): print('输入成功') else: print('输入错误') -
每个隔开(特殊字符或者数字)的单词首字母大写
s = 'alex*egon-wu sir2qjh' s5 = s.title() # 输出结果为 Alex*Egon-Wu Sir2Qjh
- 输出格式统一:居中,设定宽度,按需求填充空白
s = 'abcdefg' s6 = s.center(20,'~') #将s居中,总长度为20,空白处用~填充,不写~则为空白填充
- 补位:当遇到\t ,将之前的内容补至8位,或8的整数倍
s = 'alex\tsir' s7 = s.expandtabs() #输出结果为alex sir
- len() 表示长度,字符串(长度),字典(元素),元组(元素)都会用到
s = 'adasdasfasfasfasfasas12312rfw' l = len(s) #表示字符串字符个数,不区分中文还是汉字
- 判断字符串某一段的开头/结尾是否为指定字符串,输出结果为bool
s = 'abcdefgh123456xy' print(s.startswith('ab')) #判断字符串s是以ab开头的字符串,默认对比整个字符串。输出结果True print(s.startswith('c'2,5)) #判断字符串s[2,5]是以c开头的字符串。输出结果True print(s.endswith('xy')) #判断字符串某一段的结尾是否为字符串 - find 通过元素找索引
s = 'sdasadfasfs' print(s.find('d')) #通过元素找索引:在字符串中寻找某个元素,找到就返回第一个符合的索引,找不到返回-1 print(s.find('d',2,4)) #在字符串(切片结果s[2,4])中寻找元素d,当前找不到,所以返回-1 print(s.index('d')) #通过元素找索引:在字符串中寻找某个元素,找到就返回第一个符合的索引,找不到报错 - strip()默认删除前后空格或指定元素
s = ' %asasfsdgsdd*' print(s.strip()) #默认删除字符串前后空格 print(s.strip(' %*')) #删除字符串前后空格,%,*,不区分顺序,遇到不可删除时停止 print(s.rstrip('*')) #只处理结尾 print(s.lstrip()) #只处理结尾开头#例子:去除输入内容前后的空格 username = input('请输入姓名:').strip #输入的内容前后去除空格 if username == '张三' print('输入正确') - count():统计字符串中某个元素个数
s = 'abcdefgabcdefg' print(s.count('a')) #字符串中a的个数 print(s.count('ga')) #ga看作一个整体 print(s.count('a',0,4)) #字符串s[0:4]中有多少个字符串a print(s.count(s[1:2])) #字符串s中有多少个s[1:2] 即为 多少个b - split():将字符串以指定元素进行分割转化为列表 str-----list
s = ';alex;wusir;taibai' print(s.split(';')) #将字符串s按照';'分割为列表 - format 格式化输出的三种用法
#format的三种用法 格式化输出 s = '我叫{},今年{},喜欢{},再说一遍我叫{}' print(s.format('张三',27,'学习','张三')) s = '我叫{0},今年{1},喜欢{2},再说一遍我叫{0}' print(s.format('张三',27,'学习')) s = '我叫{name},今年{age},喜欢{hobby},再说一遍我叫{name}' print(s.format(name='张三',age=27,hobby='学习')) - replace :字符串的部分替换,可控制替换的次数,默认替换全部
s = '我喜欢学习,大家都喜欢学习' print(s.replace('学习','美女')) #将字符串中的学习替换为美女,未写次数默认所有替换 print(s.replace('学习','美女',1)) #将字符串中的学习替换为美女,仅替换一次 -
s = 'sfsdfnslk354' print(s.isalnum()) #字符串由字母或数字组成 print(s.isalpha()) #字符串由字母组成 print(s.isdigit()) #字符串由数字组成

浙公网安备 33010602011771号