1.什么是数据类型

int  :数字  主要用于运算

bool :判断真假   True ,False

str  :简单少量的存储数据,并进行相应操作

list(列表):储存大量数据

[1 , 'ses',Ture,[213],['name','long']]   可储存数字,布尔值,字符,还可镶嵌list

tuple(元祖):只读,不可更改,用来储存重要数据

(1,3,'name')

dict(字典):大量数据。且是关联性比较强的数据

(‘name’,'long','age',29,'name_list',['张三','李四'])

集合

{   }

2.基础数据类型

int  :

#快速的计算整数在内存中占用的二进制码的长度
i = 100
print(i.bit_length())  
'''                 bit.length()
1     0000 0001         1
2     0000 0010         2
3     0000 0011         2
100                     7
'''

 bool :int  str  bool  之间的转换

# int --> str
i = 2
s = str(i)
print(i,s,type(i),type(s))
# int---> bool  # 0 为False  非空 为True
s1 =bool(0)
s2 =bool(1)
s3 =bool(23)
print(s1,s2,s3,type(s1),type(s2),type(s3))
#str--->int   #字符串转成整数,则字符串必须为数字
s = '121'
i = int(s)
print(i,type(i))
#str--->bool  #空字符(什么都没有)为False
s1 = 'long'
s2 = ''
s3 = bool(s1)
s4 = bool(s2)
print(s3,s4,type(s3),type(s4))
#bool--->int
i1 = int (True)
i2 = int (False)
print(i1,i2,type(i1),type(i2))
#bool---》str
s = True
s1 = str(s)
print(s1)
#ps  高效率代码
# while  True :    #机器需要转换成1识别
#  pass
# while  1:        #代码中需要真假判断时,用1效率比较高
#  pass
2 2 <class 'int'> <class 'str'>
False True True <class 'bool'> <class 'bool'> <class 'bool'>
121 <class 'int'>
True False <class 'bool'> <class 'bool'>
1 0 <class 'int'> <class 'int'>
True

Process finished with exit code 0

 str :

1.字符串的索引与切片

s = 'ASADdasfdsgds'
s1=s[0:6:2]    #顾头不顾腚,最后一个取不上
s2=s[::2]      #[:]默认从头取到尾  ,此时写明步长为2,即隔一个取一个值,默认是1 只能有规律的取
s3=s[::-1]     #逆序取全部
print(s1,s2,s3)
AAd AAdsdgs sg

Process finished with exit code 0

 2.字符串常用方法

 1 #判断字符串
 2 s = 'ASADdfdsgds'
 3 s1 =s.count('兰州')      #数字符串中的元素出现的个数
 4 s2= s.startswith('ASAdd')
 5 s3=s.startswith('ASADd') #判断是否以所列条件开头,是输出True 不是则输出False
 6 s4=s.endswith('ds')      #判断是否以所列条件结尾
 7 print(s1,s2,s3,s4,sep='\n')
 8 #更改大小写
 9 s5= s.capitalize()       #首字母大写,其余变小写
10 s6= s.upper()            #全部大写
11 s7= s.lower()            #全部小写
12 s8= s.swapcase()         #大小写翻转
13 print(s5,s6,s7,s8,sep='\n')
14 #字符串操作
15 n = 'fade,crazy*w4trtw0dsa_juioasd djkisaj=3'
16 s10= n.title()           # 每个隔开(特殊字符或者数字)的单词首字母大写
17 print(s10)
18 #居中和制表符
19 b = 'AS\tADdfdsgds'
20 b1=b.center(20,"~")      #设置一个20的长度,让字符串居中。默认用空格填充两边,可以使用其他符号,如"#","~"
21 b2=b.expandtabs()        #如果字符串中间有"\t",从前面开始补齐8位
22 print(b1,b2)
23 #字符串的查找
24 b3=b.find('A')           #查找字符串中是否有某个元素,有的话返回索引,没有返回-1
25 b4=b.find('G')           #查找字符串中是否有某个元素,有的话返回索引,没有返回-1
26 # b5=b.index('F')          # 寻找元素,找到返回索引,找不到报错
27 print(b3,b4,)
28 #删除空格,特殊字符
29 d = '   AS#ADd%fds&gds   '
30 d1= d.strip()            #去除前后空格
31 d2=d.rstrip()            #去除右侧
32 d3=d.lstrip()            #去除左侧
33 d4=d.strip("#")          #删除字符串中的特殊字符,不论顺序
34 print(d1,d2,d3,d4,sep='\n')
35 #字符串转换成列表   str--->list
36 e= 'titleTilteatre'
37 e1=e.split()             #以空格分割为列表
38 e2=e.split('t')          #以字符t为分割,t不显示
39 e3=e.split('t',1)        #以字符t为分割,t不显示  只分割第一个
40 e4=e.split('t',3)        #以字符t为分割,t不显示  分割3个
41 print(e1,e2,e3,e4,sep='\n')
42 # 公共方法,字典、列表、元组都可以用的
43 #len(s)                  # 测量总共有几个元素
44 f='alexWUsi文字'         #中文也是一个元素
45 l = len(f)
46 print(l)
47  # 格式化输入
48 g1 = "我叫{},今年{},爱好{},再说一次我叫{}".format('long', 30, 'wan', 'long')
49 g2 = "我叫{0},今年{1},爱好{2},再说一次我叫{0}".format('long', 30, 'wan')
50 g3 = "我叫{name},今年{age},爱好{hobbie},再说一次我叫{name}".format(name='long',age='30',hobbie='wan')
51 print(g1,g2,g3,sep='\n')
52 # 替换
53 h = '发噶复方丹参发送到发送到发送到'
54 h1=h.replace("发送", '接收')          # 替换全部
55 h2=h.replace("发送", '接收', 1)      # 替换全部第一个
56 print(h1,h2)
View Code
 1 0
 2 False
 3 True
 4 True
 5 Asaddfdsgds
 6 ASADDFDSGDS
 7 asaddfdsgds
 8 asadDFDSGDS
 9 Fade,Crazy*W4Trtw0Dsa_Juioasd Djkisaj=3
10 ~~~~AS    ADdfdsgds~~~~ AS      ADdfdsgds
11 0 -1
12 AS#ADd%fds&gds
13    AS#ADd%fds&gds
14 AS#ADd%fds&gds   
15    AS#ADd%fds&gds   
16 ['titleTilteatre']
17 ['', 'i', 'leTil', 'ea', 're']
18 ['', 'itleTilteatre']
19 ['', 'i', 'leTil', 'eatre']
20 10
21 我叫long,今年30,爱好wan,再说一次我叫long
22 我叫long,今年30,爱好wan,再说一次我叫long
23 我叫long,今年30,爱好wan,再说一次我叫long
24 发噶复方丹参接收到接收到接收到 发噶复方丹参接收到发送到发送到
View Code