一、数据类型:
1.数字类型—(1)整形 , (2) 浮点型
2.字符串
3.列表
4.元组
5.字典
6.集合
7.bytes
二、数据类型的操作
1.数字(整形和浮点型)
#整形:表示年龄,身份证好吗,qq号等数字 age = 18 # 本质age = int(10)
#浮点型:表示薪酬,身高,体重,等小数 weight = 120.2 # 本质weight = float(120.0)
2.字符串
#字符串:表示名字,变量名,性别,等描述状态的信息 #字符串是不可变类型 #!!python3中字符串有两种类型: #1 str是unicode编码标准 #2 bytes是GBK编码标准 #!!python2中字符串有两种类型: #1 str是GBK编码标准 #2 u''是unicode编码标准 username = 'peter' age = '18' weight = '60kg' say = 'hello world hello world' example1 = ' x x x x ' example2 = '@#!ddd#$¥¥¥!!@#@#!' example3 = 'aaabbbccc' example4 = 'my name is {},i am {} years old,i am a {}!' li1 = ['a','c','dd','bbb'] #基本操作 #1.''.count()是统计指定字符在该字符串中的合计数量 print(username.count('e')) #统计字符e 在字符串uesername中的数量 #返回值2 print(username.count('e',3,-1)) #统计字符串username里的索引3~最后1位中的字符e的数量 #返回值1 #2.''.center()是将指定字符串居中并在他左右以某个自定义的字符进行填充 print(username.center(40,'=')) #将字符串username以居中的形式,并且这一行中其他空位以字符'='填充,合计40个字符 #3.''.isdigit()是判断指定字符串是否位纯数字 print(username.isdigit()) #返回值False print(age.isdigit()) #返回True print(weight.isdigit()) #返回值False #4.''.split()是将该指定字符串以某个自定义字符进行分离,并先去除那个自定义字符后重新组成一个新列表《.split()默认是包含空格》 print(username.split('t')) print(say.split(' ')) print(say.split(' ',maxsplit=1)) #maxsplit为分离几次,不指定的话默认=-1,全部分离 print(say.split(' ',maxsplit=2)) print(say.split(' ',maxsplit=-1)) #5.''.strip()是移除指定字符串左右两边的你自定义的字符,先从左往右开始移除自定义字符,直至遇到第一个不是自定义的字符后, # 再从右往左重复之前操作 print(example1.strip()) #默认移除空格 print(example1.strip(' ')) #移除自定义的字符为空格 print(example2.strip('@#!')) #移除自定义的字符为'@#!' #6.''.replace()是将指定的字符串中你自定义的字符替换成另一个字符(可以指定替换几次)并生成一个新的字符串(原来的字符串是不可以改变的) print(example3.replace('a','q',2)) #将example3中的字符a 从左往右替换成q,重复两次 print(example3.replace('a','q')) #将example3中的字符a 从左往右替换成q,默认全部替换 #7.''.format是在指定字符串中,{}格式化输出为后面的字符串 print(example4.format('a','b','c')) print('my name is {c},i am {b} years old,{c} i am {a}!'.format(b=age,c='exec',a=weight)) #8.''.index()是在指定字符串中找到自定义的字符在该字符串中的索引位置,索引以0开始记数,如0,1,2,3,4,5。。。 print('peter'.index('t')) #9.''.lower()是将指定字符串全部输出为小写 print('PETeR'.lower()) #10.''.upper()是将指定字符串所有字符全部输入为大写 print('pETeR'.upper()) #11.''.endswith()是判断指定字符串是以自定义的字符结尾(区分大小写),有True和False的输出 print('peter'.endswith('r')) print('peteR'.endswith('r')) print('peter'.endswith('d')) #12.''.startswith是判断指定字符串是否以该自定义字符开头的,同时可以指定开始和结束的索引位置 print('peter'.startswith('p',2,4)) print('peter'.startswith('p')) #13.''.title()是将指定字符串中的单词的首字母变成大写 print('peter is a boy'.title()) #14.''.join()是将指定字符以分隔符的形式进行区分列表中的元素 a1 = '|'.join(li1) a2 = ','.join(li1) a3 = ''.join(li1) print(a1) print(a2) print(a3) #15.''.capitalize()是将指定字符串的第一个英文大写 print('peta is'.capitalize()) #16.去除左边的字符,默认去除空格 print(' pet er '.rstrip()) print(' pet er '.lstrip()) #17.将 替换成空格,可以指定几个字符,指定的字符包括空格+空格后的字符个数 print('uuu aaa'.expandtabs(9)) #18. 同lower(),lower() 方法只对ASCII编码,对于其他语言(非汉语或英文)中把大写转换为小写的情况只能用 casefold() 方法 print(''.casefold()) #19.''.isalnum()是指判断指定字符串中是否有空格,如果有返回false,如果有至少一个字符或者数字则返回true print(''.isalnum()) print('a b c'.isalnum()) print('a'.isalnum()) print('1'.isalnum()) print('1a3'.isalnum()) #20.''.isalpha()判断指定字符串中是否只有字母组成,如果是返回True,如果包含数字/空格则返回false print('ddd'.isalpha()) print('ddd d'.isalpha()) print('1a'.isalpha()) print('a 1'.isalpha()) print(' '.isalpha()) #21.''.isdecimal() 方法检查字符串是否只包含十进制字符,如是返回true,如果不是则返回false。这种方法只存在于unicode对象。 b1 = u'aaa111' b2 = u'1111' print(b1.isdecimal()) print(b2.isdecimal()) #22.''.isdentifier()判断是否是合法标识符 print('bb'.isidentifier()) print(''.isidentifier()) #23。 print('bb'.islower()) print('Ac'.islower()) #24.''.isnumeric()检测字符串是否只由数字组成。这种方法是只针对unicode对象(主要还是用isdigit) print('bb'.isnumeric()) print('11'.isnumeric()) print('1a '.isnumeric()) print('a1 '.isnumeric()) #25。''。isprintable()如果存在不可见的(如 , )则返回false,反之则为true print('b1'.isprintable()) print(' d d'.isprintable()) print('a '.isprintable()) print('dd '.isprintable()) #26.判断是否全部为空格 print(' '.isspace()) #27.检查单词的首字母是否为大写且其他字母都为小写,返回true, 否则返回false print('Eaa Ddd AA'.istitle()) print('Eaa Ddd Aa1'.istitle()) #28.判断字符串是否全部为大写,真返回true,否则返回false print('bb'.isupper()) print('Fa'.isupper()) print('AA'.isupper()) #29. # print('bb'.find()) # print('bb'.maketrans()) #30.左对齐和有对齐,同center()的用法 print('bb'.rjust(10,'=')) print('bb'.ljust(10,'=')) #31.编码暂缺 # print('bb'.encode()) #32.以某一个字符进行依次分割 print('bb aaa'.partition(' ')) print('acdcgcx'.partition('c')) #33.互换大小写字母 print('bbA Asd'.swapcase()) #34暂缺 # print('bb'.translate()) #35.用0 来填充,并且右对齐 print('bb'.zfill(10))
3.列表
#列表:表示可以存放多个数据 li1 = ['a','b','c',10,'a','d','e'] #1.指定列表的某一个元素的索引位置查找 print(li1.index('c')) print(li1.index('a',1,5)) #指定某一段中查找字符的索引位置 #2.在指定列表中查找字符的数量合计 print(li1.count('a')) #3.在指定列表中去除某一个索引位置的元素,并返回这个取出的值 print(li1.pop(1)) #4.在指定列表的尾部插入一个新元素 print(li1.append('test')) #5.将指定列表中所有元素从最后一位至第一位 重新排列替换掉指定列表 li1.reverse() #6.移除指定列表中的某一个元素 li1.remove('e') #7.复制指定列表并生成一个新列表 li1_copy = li1.copy() print(id(li1)) print(id(li1_copy)) #8.在指定列表某一个指定的索引前面插入新的元素 print(li1.insert(0,'ttt')) #9.用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) li1_ext = [1,3,4,5,'a'] print(li1.extend(li1_ext)) #10.对指定列表进行按序排列 alist = [10,5,2,6,3,23] alist.sort() #升序排列 #11.清除指定列表中所有元素 print(alist.clear()) print(alist)
4.元组
#元组:存多个值,对比列表来说,元组不可变,不能对元组中的元素进行修改,主要是用来读 a = ('a','c','d','123','a') print(type(a)) #1.count()同列表,同字符串的用法 print(a.count('a')) #2.index()查找指定字符在该元组中的索引 print(a.index('a'))
5.字典
dic1 = { 'k1':1, 'k2':2, 'k3':'acc' } #1.copy()复制当前字典,到新的变量中 new_dic = dic1.copy() print(new_dic) #2.pop()在指定字典中提取指定key:value,并返回value print(dic1.pop('k1')) #3.get()是获取指定字典中自定义的key,返回对应的value print(dic1.get('k2')) #4.keys()获取指定字典中的所有key print(dic1.keys()) #5.values()返回指定字典中的所有value print(dic1.values()) #6.setdefault()是在指定字典中,新增该字典没有的key:value,如果新增的key已经在字典中存在,则指定字典没有发生变化, #若指定字典中没有新增的key,则以新的key:value形式加入指定字典(如没有指定value,则填入None) dic1.setdefault('k2',4) dic1.setdefault('k4',1111) dic1.setdefault('k5') print(dic1) #7.fromkeys()将指定列表中的所有元素作为key,然后与关键字进行配对后放入空字典 li1 = ['a',1,'b',2,'c',3] li1_dic = {}.fromkeys(li1,'hello') li1_dic = {}.fromkeys(li1,None) #8.update()在指定字典中将更新的key:value更新到字典中,如指定字典中已有该key值,则会被替换成新的value,若没有,则新增key:value dic8 = {'k1':12,'k2':31} dic8.update({'k3':111}) dic8.update({'k1':2222}) dic8.update({'k4':414141}) print(dic8) #9.clear()清空该字典 dic1.clear()
6.集合
# 集合的主要作用就是去重 #定义:集合可以包含多个元素,用逗号分割 #集合中的元素遵循三个原则: #1 每个元素是不可变类型(可hash,可作为字典的key) #2 没有重复的元素 #3 无序 #例: x1 = ['a','b'] # x2 = {['a','b'],'c'} # print(x2) #语法报错,无法使用可变类型作为集合中的元素 # print(set(x1)) a = {'a','b','c'} b = {'b',1,'d'} c = {'a','b'} # | 合集 print(a|b) # & 交集 print(a&b) # - 差集 print(a-b) print(b-a) # ^ 对称差集 print(a^b) # == print(a==b) #输出false # >,>= 父集 print(a>c) #返回True # <,<= 子集 print(c<a) #返回True
7.bytes
待补充