python数据类型
目录:
1、数字类型:
数据类型是不允许改变的,如果改变数字数据类型的值,将重新分配内存空间
整型(int):
>>> age = 18 >>> type(age) # 查看数据类型 <class 'int'>
可以通过 del 语句删除单个或多个对象的引用:
del var1 del var1, var2 ...
浮点型(float):
>>> salary = 6666.66 >>> type(salary) <class 'float'>
复数型(complex):
>>> x = 1 + 3.14j >>> type(x) <class 'complex'>
2、字符串:
#strip 去掉左右两边的空格 name=' Allen ' print(name.strip()) print(name.lstrip()) print(name.rstrip()) #lower,upper 大小写转换 name='Allen' print(name.lower()) print(name.upper()) #startswith,endswith #判断字符串的开头和结尾 name='Allen' print(name.endswith('en')) print(name.startswith('Al')) #format字符串格式化 res='{} {}'.format('Allen',20) res='{1} {0}'.format('Allen',20) res='{name} {age}'.format(,name='Allen',age=20) #split 切分 name='root:x:0:0::/root:/bin/bash' print(name.split(':')) #默认分隔符为空格 print('c:/a/b/c/d.txt'.split('/',1)) #只想拿到顶级目录 print('a|b|c'.rsplit('|',1)) #从右开始切分 #join print(' '.join(['Allen','hello','world'])) #可迭代对象必须都是字符串 #replace 替换 name='my name is allen' print(name.replace('allen','Allen')) #isdigit:可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法 print('1999'.isdigit())
#find,rfind,index,rindex,count name='my name is allen' print(name.find('o',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引 #print(name.index('e',2,4)) #同上,但是找不到会报错 print(name.count('e',1,3)) #顾头不顾尾,如果不指定范围则查找所有 #center,ljust,rjust,zfill name='allen' print(name.center(30,'-')) print(name.ljust(30,'*')) print(name.rjust(30,'*')) print(name.zfill(50)) #用0填充 #expandtabs name='allen\thello' print(name) print(name.expandtabs(1)) #captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='my name is allen' print(msg.title()) #每个单词的首字母大写 #is数字系列 #在python3中 num1=b'4' #bytes num2=u'4' #unicode,python3中无需加u就是unicode num3='四' #中文数字 num4='Ⅳ' #罗马数字 #isdigt:bytes,unicode print(num1.isdigit()) #True print(num2.isdigit()) #True print(num3.isdigit()) #False print(num4.isdigit()) #False #isdecimal:uncicode #bytes类型无isdecimal方法 print(num2.isdecimal()) #True print(num3.isdecimal()) #False print(num4.isdecimal()) #False #isnumberic:unicode,中文数字,罗马数字 #bytes类型无isnumberic方法 print(num2.isnumeric()) #True print(num3.isnumeric()) #True print(num4.isnumeric()) #True #三者不能判断浮点数 num5='4.3' print(num5.isdigit()) print(num5.isdecimal()) print(num5.isnumeric()) #总结: # 最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景 # 如果要判断中文数字或罗马数字,则需要用到isnumeric #is其他 name='allen1999' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isidentifier()) print(name.islower()) print(name.isupper()) print(name.isspace()) print(name.istitle())
3、元组:
age = (11,22,33,44,55) print(age[0]) #按索引取值 print(age[0:4]) #切片 print(age[-3:]) #切片 print(len(age)) #长度 print(11 in age) #成员运算 print(66 not in age) #成员运算
4、列表:
names = ['aa', 'bb', 'cc', 'dd', 'ee'] #删除 print(names.pop(0)) names.remove('cc') print(names) #添加 names.insert(1, 'ff') print(names) names.append('gg') print(names) #取值、切片 print(names[0]) print(names[0:3]) print(names[0:5: 2]) print(names[-1::-1]) #成员运算 print('cc' in names) print('cc' not in names) print(len(names)) #长度 #排序 print(names.sort()) print(names.reverse())
5、字典:
存/取 info={'name':'allen','age':20,'sex':'M'} print(info['job']) # 找不到key则报错 print(info.get('job')) print(info.get('job',None)) # get方法找不到key则不报错,可以自定义返回值 info['job'] = 'IT' print(info) print(info.keys()) # 获取所有Key print(info.values()) # 获取所有values print(info.items()) # 获取键值对(元组) 删除: info={'name':'allen','age':20,'sex':'M'} print(info.pop('job', None)) # key存在则弹出值,不存在则返回默认值,如果没有默认值则报错 print(info) print(info.popitem()) # 随机删除 print(info) del info['name'] print(len(info)) # 获取字典长度 print('name' in info) # 成员运算 print('name' not in info) # 成员运算 更新: info={'name':'allen','age':20,'sex':'M'} info.update({'job': 'IT', 'age': 18}) # 如果key存在则覆盖值,如果不存在则添加key,value print(info_dic) info.setdefault('job', 'IT') # 如果key存在则返回原值,如果不存在则添加 dict.fromkeys(('name', 'age'), None) # 创建一个字典,默认value为None info1=info.copy() # 复制 info.clear() # 清除
6、集合:
7、布尔:
布尔 只有两个值: True: 代表为真 False: 代表为假 >>> 3 < 6 True >>> 3 > 6 False
所有的数据类型都自带布尔值:
1、None、0、空 (字符串、列表、字典、元组)等这几种情况下为False
2、其余都为True