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)
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 发噶复方丹参接收到接收到接收到 发噶复方丹参接收到发送到发送到