一, 基本数据类型:
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 ------")
举个break'栗子'
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 ------")
举个continue'栗子'

 

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 ------")
再来一个"栗子"