一、基础数据类型初始
int 运算。+ - * / ** %...
bool :判断,真假,作为条件。
str.存储少量的数据。'太白','password'...操作简单,便于传输。
list 列表 [1,2,'alex',{'name':'老男孩'}] 存放大量的数据,大量的数据放在列表中便于操作。
tuple 元组 只读列表。(1,2,{'name':'老男孩'})
dict 字典 {'name_list':[nana...]},储存关系型的数据。查询速度非常快,二分查找。
set 集合。交集,并集,差集....
二、INT型
# bit_lenth i = 4 print(i.bit_length()) # # 转化成二进制的最小位数。 # """ # 1 0000 0001 # 2 0000 0010 # 3 0000 0011 # 4 0000 0100 # """
三、bool型
布尔值值分为两种:True ,False ,就是反应条件的正确与否
真 1 True
假 0 False
int-->str str(int)
str-->int int(str)
int--->bool 0 代表false 非零代表True
str--->bool 非空 为True ,空字符串就是False
bool-->str 无意义 ,很少用到
s1 = '' if s1: print(666) else: print(111) s = str(True) print(s,type(s)) # 结果 # 111 # True <class 'str'>
四、str型
一、索引与切片
#索引与切片 s[起始索引:截止索引:步长] s = '老男孩是最好的培训机构' #索引 s1 = s[0] print(s1) s2 = s[2] print(s2) s3 = s[-1] print(s3) #切片 顾头不顾腚 s4 = s[0:3] print(s4) s41 = s[:3] print(s41) s5 = s[3:7] print(s5) s6 = s[:] print(s6) #步长 s7 = s[:5:2] print(s7) s8 = s[:7:3] print(s8) # 反向步长 s7 = s[-1:-5:-1] print(s7)
答案:
老
孩
构
老男孩
老男孩
是最好的
老男孩是最好的培训机构
老孩最
老是的
构机训培
二、字符串常用方法
s = 'laonanHai' #*** 首字母大写,其他字母小写 s1 = s.capitalize() print(s1) #***全部大写,全部小写 s2 = s.upper() s3 = s.lower() print(s2,s3) code = 'aeQu'.upper() your_code = input('请输入验证码').upper() if your_code == code: print('验证码输入成功') s = 'laonanHai' # * 居中center s4 = s.center(30) print(s4) s4 = s.center(30,'*') print(s4) #**大小写翻转 s5 = s.swapcase() print(s5) s = 'alex wusir*laonanhai2taibai' #每个单词的首字母大写(非字母隔开) s6 =s.title() print(s6) s = 'alexlaonanhai' #***判断以什么为开头,以什么为结尾。 # startswith endswith() s7 = s.startswith('a') s71 = s.startswith('al') s72 = s.startswith('alex') s73 = s.startswith('alex') s74 = s.startswith('l', 4) print(s74) print(s7,s71,s72,s74) s = ' laonanhai ' s = ' laonanhai ' # ***去除首尾的空格,换行符,tab # 去除左边的空格,换行符,tab lstrip() # 去除右边的空格,换行符,tab rstrip() #strip() print(s) print(s.strip()) print(s.lstrip()) print(s.rstrip()) name = input('请输入用户名:').strip() if name == 'alex': print(666) s = ',laoxnanhaialexl' print(s.strip(',lax')) s = 'alexex' # *** find index 通过元素找索引 print(s.find('e')) print(s.find('e',3)) print(s.find('A')) # print(s.index('A')) #执行报错 s = 'alexex' #*** count 寻找元素出现的个数 可切片 print(s.count('e')) print(s.count('ex')) a1='ladsfaldfakd000lsd32320' ret3 = a1.count("a") # 可切片 print(ret3) #***replace 替换 s = '将发生多了范德萨发范德萨回复' s1 = s.replace('范德萨', '小粉嫩') print(s1) s2 = s.replace('范德萨', '小粉嫩',1) print(s2) s3 = s.replace('范德萨', 'sb') print(s3) # ***** split 分割 str ---> list s = 'alex wusir taibai' print(s.split()) s1 = 'alex,wusir,taibai' print(s1.split(',')) s2 = 'alexawusirataibai' print(s2.split('a')) s3 = 'alexawusirataibai' print(s3.split('a',1)) # 分割次数 #***** format 格式化输出 #三种用法 #第一种用法: s = '我叫{},今年{},爱好{}'.format('MT',18,'母牛') print(s) #第二种用法 s = '我叫{0},今年{1},爱好{2},我依然叫{0},今年还是{1}' .format('MT',18,'母牛') print(s) #第三种 键值对 s = '我叫{name},今年{age},爱好{hobby}'.format(age=18, name='MT', hobby='闷儿') print(s) name='123a' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成 if name.isdigit(): name = int(name) print(name,type(name)) else: print('您输入的由非数字元素')
答案:
Laonanhai
LAONANHAI laonanhai
请输入验证码abc
laonanHai
**********laonanHai***********
LAONANhAI
Alex Wusir*Laonanhai2Taibai
True
True True True True
laonanhai
laonanhai
laonanhai
laonanhai
请输入用户名:asb
oxnanhaiale
2
4
-1
2
2
3
将发生多了小粉嫩发小粉嫩回复
将发生多了小粉嫩发范德萨回复
将发生多了sb发sb回复
['alex', 'wusir', 'taibai']
['alex', 'wusir', 'taibai']
['', 'lex', 'wusir', 't', 'ib', 'i']
['', 'lexawusirataibai']
我叫MT,今年18,爱好母牛
我叫MT,今年18,爱好母牛,我依然叫MT,今年还是18
我叫MT,今年18,爱好闷儿
True
False
False
您输入的由非数字元素
五、for用法
for...else和while...else用法一样:
都是正常执行完结执行else,非正常退出执行else
s = 'fdsafdsaf' count = 0 while count < len(s): print(s[count]) count += 1 s = 'fdsafdsaf' for i in s: print(i)
答案:
9
f
d
s
a
f
d
s
a
g
f
d
s
a
f
d
s
a
g
六、练习题
1,有变量name = "aleX leNb" 完成如下操作:
1) 移除 name 变量对应的值两边的空格,并输出处理结果
2) 移除name变量左边的’al’并输出处理结果
3) 移除name变量右面的’Nb’,并输出处理结果
4) 移除name变量开头的a’与最后的’b’,并输出处理结果
5) 判断 name 变量是否以 "al" 开头,并输出结果
6) 判断name变量是否以”Nb”结尾,并输出结果
7) 将 name 变量对应的值中的 所有的“l” 替换为 “p”,并输出结果
8) 将name变量对应的值中的第一个’l’替换成’p’,并输出结果
9) 将 name 变量对应的值根据 所有的“l” 分割,并输出结果。
10) 将name变量对应的值根据第一个’l’分割,并输出结果。
11) 将 name 变量对应的值变大写,并输出结果
12) 将 name 变量对应的值变小写,并输出结果
13) 将name变量对应的值首字母’a’大写,并输出结果
14) 判断name变量对应的值字母’l’出现几次,并输出结果
15) 如果判断name变量对应的值前四位’l’出现几次,并输出结果
16) 从name变量对应的值中找到’N’对应的索引(如果找不到则报错),并输出结果
17) 从name变量对应的值中找到’N’对应的索引(如果找不到则返回-1)输出结果
18) 从name变量对应的值中找到’X le’对应的索引,并输出结果
19) 请输出 name 变量对应的值的第 2 个字符?
20) 请输出 name 变量对应的值的前 3 个字符?
21) 请输出 name 变量对应的值的后 2 个字符?
22) 请输出 name 变量对应的值中 “e” 所在索引位置?
1 name = "aleX leNb" 2 print(name.strip()) 3 print(name.lstrip('al')) 4 print(name.rstrip('Nb')) 5 print(name.strip('ab')) 6 print(name.startswith('al')) 7 print(name.endswith('Nb')) 8 print(name.replace('l','p')) 9 print(name.replace('l','p',1)) 10 print(name.split('l')) 11 print(name.split('l',1)) 12 print(name.upper()) 13 print(name.lower()) 14 print(name.capitalize()) 15 print(name.count('l')) 16 print(name.count('l',0,4)) 17 print(name.index('N')) 18 print(name.find('N')) 19 print(name.find('X le')) 20 print(name[1]) 21 print(name[:3]) 22 print(name[-2:]) 23 place = name.index('e') 24 print(place,"and",name.find( 'e',place+1))
结果:
aleX leNb
eX leNb
aleX le
leX leN
True
True
apeX peNb
apeX leNb
['a', 'eX ', 'eNb']
['a', 'eX leNb']
ALEX LENB
alex lenb
Alex lenb
2
1
7
7
3
l
ale
Nb
2 and 6
获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
s = 'oldboy' print(s[:-1])
2,有字符串s = ‘123a4b5c’
1)通过对li列表的切片形成新的字符串s1,s1 = ‘123’
2)通过对li列表的切片形成新的字符串s2,s2 = ‘a4b’
3)通过对li列表的切片形成新的字符串s3,s3 = ‘1345’
4)通过对li列表的切片形成字符串s4,s4 = ‘2ab’
5)通过对li列表的切片形成字符串s5,s5 = ‘c’
6)通过对li列表的切片形成字符串s6,s6 = ‘ba2’
1 s = '123a4b5c' 2 s1 = s[:3] 3 s2 = s[3:-2] 4 s3 = s[::2] 5 s4 = s[1:-1:2] 6 s5 = s[-1:] 7 s6 = s[-3::-2]
3,使用while和for循环分别打印字符串s=’asdfer’中每个元素。
1 #while 2 s = 'asdfer' 3 counte = 0 4 while counte < len(s): 5 print(s[counte]) 6 counte += 1 7 #for 8 s = 'asdfer' 9 for i in s: 10 print(i)
4,实现一个整数加法计算器(两个数相加):
如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
1 content = input('请输入内容:') 2 number = content.split('+') 3 sum = 0 4 for i in number: 5 sum += int(i.strip()) 6 print(sum)
5,计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input(‘请输入内容:’) # 如fhdal234slfh98769fjdla
1 counte = 0 2 content = input('请输入内容:') 3 for i in content: 4 if i.isdigit(): 5 counte += 1 6 print(counte)
明日默写内容:
分别用while,for循环输出字符串s = input(‘你想输入的内容’)的每一个字符。
1 #while 2 s = input('你想输入的内容') 3 counter = 0 4 while counter < len(s): 5 print(s[counter]) 6 counter += 1 7 #for 8 s = input('你想输入的内容') 9 for i in s: 10 print(i)