一, 基本数据类型:
int 整数
str 字符串,一般不存放大量的数据
bool 布尔值,用来判断
list 列表,用来存放大量的数据 []表示,里面可以装各种数据类型的数据
tuple 元组,只读列表, ( )表示
dict 字典 { }表示
set 集合 不重复
二, int 类型 (不可变)
#bit_length() 当十进制用二进制表示时,最少使用的位数 v = 11 data = v.bit_length() print(data)
三, bool 类型
布尔只有两个值 True 和False 一般没有什么操作
所有的空都是False,所有的非空都是True
数字0,是False
空字符串是False
空列表是False
空字典是False
想把某数据转换成***数据类型:
***(数据)
例:
数字 ==> 字符串 str(数字)
字符串 ==> 数字 int(字符串)
空字符串转换为bool,是False
数字中0 转换为bool,是False(非0是True)
四, str 类型:
由引号引起来的就是字符串(单引号,双引号,三引号)
字符串是不可变的数据类型,无论执行任何操作,原字符串是不变的,每次操作都会返回新字符串
1, 索引和切片
- 索引: 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
索引从0开始,索引使用[下标] 可以获取到每一个字符
索引不能超过边界, -1表示倒数第一个,-2表示倒数第二个...
a = 'ABCDEFGHIJK' print(a[0]) #A print(a[3]) #D print(a[5]) #F print(a[7]) #H
- 切片: 切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串
1,[起始位置:结束位置] 切片顾头不顾尾,如果想切到最后的话[起始位置:]表示切到最后,
如果想从开始切的话,可以[:结束位置],[:]表示从头切到尾
2,只能从左往右切
如果想从右往左切,需要给出步长
例如:print(s[-1:-3:-1]) -1前的-号表示反方向
切片里面第二个位置的数字可以随便给,没有限制
a = 'ABCDEFGHIJK' print(a[0:3]) #ABC print(a[2:5]) #CDE print(a[0:]) #默认到最后 print(a[0:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 print(a[0:5:2]) #加步长 print(a[5:0:-2]) #反向加步长
2, 字符串的相关操作:
- 大小写转换
capitalize() 把首字母变为大写
lower() 全部转换为小写
upper() 全部转换为大写
swapcase() 大小写转换
casefold() 转换成小写,跟lower的区别是,casefold()对所有字母都有效,比如东欧的一些字母
title() 每个被特殊字符隔开的首字母大写,中文在这里面被当做特殊字符(也就是说除了英文字母之外的)
- 切来切去
center() 居中
strip() 去掉左右两边的空格,\t,\n等空白
如果括号里面给参数,是去掉左右两边的指定参数
replace() 替换,括号里面第一个参数给出的是需要替换的,第二个参数写要替换成的东西
也可以给第三个参数,第三个参数表示替换几次
split() 切割 括号里面给参数,表示以**切割,切完的结果是一个列表,列表中装的是字符串
如果参数比原字符串长,那么返回原字符串,相当于没切
- 格式化输出
format() 占位符用{}表示,后面括号里给出对应的位置参数
{}里面也可以写0,1,2等位置参数,指定位置
{}里面也可以写name,age等具体的参数,后面括号里面给参数具体的值
- 查找
startswith() 是否以..开头
endswith() 是否以..结尾
count() 查找**出现的次数(括号里面写需要查找的内容)
find() 查找**出现的位置(只找第一次出现的位置),找不到返回-1,找到返回相应的索引
index() 查找,跟find类似,但是找不到的话会报错,找到返回索引
- 条件判断
isdigit() 判断字符串是否是数字组成
isalpha() 判断是否是字母组成
isalnum() 判断是否由数字和字母组成
isnumeric() 可以判断中文的数字,例如壹,贰,叁等
- 计算字符串的长度
len() len()是python的内置函数,跟print类似

1 #captalize,swapcase,title 2 print(name.capitalize()) #首字母大写 3 print(name.swapcase()) #大小写翻转 4 msg='taibai say hi' 5 print(msg.title()) #每个单词的首字母大写 6 7 # 内同居中,总长度,空白处填充 8 ret2 = a1.center(20,"*") 9 print(ret2) 10 11 #数字符串中的元素出现的个数。 12 # ret3 = a1.count("a",0,4) # 可切片 13 # print(ret3) 14 15 16 a4 = "dkfjdkfasf54" 17 #startswith 判断是否以...开头 18 #endswith 判断是否以...结尾 19 # ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚 20 # print(ret4) # 返回的是布尔值 21 # ret5 = a4.startswith("kfj",1,4) 22 # print(ret5) 23 24 #寻找字符串中的元素是否存在 25 # ret6 = a4.find("fjdk",1,6) 26 # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 27 28 # ret61 = a4.index("fjdk",4,6) 29 # print(ret61) # 返回的找到的元素的索引,找不到报错。 30 31 #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。 32 # ret9 = 'title,Tilte,atre,'.split('t') 33 # print(ret9) 34 # ret91 = 'title,Tilte,atre,'.rsplit('t',1) 35 # print(ret91) 36 37 #format的三种玩法 格式化输出 38 res='{} {} {}'.format('egon',18,'male') 39 res='{1} {0} {1}'.format('egon',18,'male') 40 res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) 41 42 #strip 43 name='*barry**' 44 print(name.strip('*')) 45 print(name.lstrip('*')) 46 print(name.rstrip('*')) 47 48 #replace 49 name='alex say :i have one tesla,my name is alex' 50 print(name.replace('alex','SB',1)) 51 52 #####is系列 53 name='taibai123' 54 print(name.isalnum()) #字符串由字母或数字组成 55 print(name.isalpha()) #字符串只由字母组成 56 print(name.isdigit()) #字符串只由数字组成
五, 流程控制
- if...else 语句
单分支:
if 条件: 满足条件后要执行的代码
双分支:
if 条件: 满足条件执行代码 else: if条件不满足就走这段
多分支:
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
- while循环
基本循环:
while 条件: # 循环体 # 如果条件为真,那么循环体则执行 # 如果条件为假,那么循环体不执行
循环终止语句:
如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句
- break用于完全结束一个循环,跳出循环体执行循环后面的语句
- continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环

1 count = 0 2 while count <= 100 : #只要count<=100就不断执行下面的代码 3 print("loop ", count) 4 if count == 5: 5 break 6 count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0 7 8 print("-----out of while loop ------")

1 count = 0 2 while count <= 100 : 3 count += 1 4 if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop 5 continue 6 print("loop ", count) 7 8 print("-----out of while loop ------")
while ... else .. :
与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

1 count = 0 2 while count <= 5 : 3 count += 1 4 print("Loop",count) 5 6 else: 7 print("循环正常执行完啦") 8 print("-----out of while loop ------")