按存值个数区分:
标量/原子类型(单个): 数字(整形/浮点型),字符串
容器类型(多个): 列表,元组,字典,集合
按可变不可变区分:
可变: 列表,字典,集合
不可变: 数字(整形/浮点型),字符串,元组
按访问顺序/取值方式区分:
直接访问: 数字(整形/浮点型)
索引/顺序访问(序列类型): 字符串,列表,元组
key值访问(映射类型): 字典
有序/无序区分:
有序:字符串,列表,元祖
无序:字典,集合
内容:可变和不可变类型基本数据类型与内置方法:数字类型: int float进制转换关系字符串类型列表类型为什么数据要分不一样的类型 数据是用来表示状态的,不一样的状态就应该用不一样的类型的数据去表示可变不可变类型可变类型: 值变了,可是id没有变,证实没有生成新的值而是在改变原值,原值是可变类型不可变类型:值变了,id也跟着变,证实是生成了新的值而不是在改变原值,原值是不可变基本数字类型一: 整型int======================================基本使用======================================一、用途: 记录年龄\等级\各类号码二、定义方式:age=18 age=int(18) #只能将纯数字的字符串转换成整型三、经常使用操做+内置的方法赋值\比较\算术======================================该类型总结====================================存一个值不可变(一、可变:值变,id不变。可变==不可hash 二、不可变:值变,id就变。不可变==可hash)二 浮点型float======================================基本使用======================================一、用途: 记录身高\体重\薪资二、定义方式salary=float('3.1')print(salary,type(salary))三、经常使用操做+内置的方法赋值\比较\算术======================================该类型总结====================================存一个值不可变(一、可变:值变,id不变。可变==不可hash 二、不可变:值变,id就变。不可变==可hash)--------------------------------------其余进制=>十进制十进制: 0-913 = 1*10^1 + 3*10^0二进制: 0 1八进制: 0-7十六进制:0-9 A-F十进制=>其余进制print(bin(18)) #0b10010 # 十进制=>二进制print(oct(18)) #0o22 # 十进制=>八进制print(hex(18)) #0x12 # 十进制=>十六进制-------------------------------------------字符串类型======================================基本使用======================================一、用途:记录描述性质的特征,好比名字\地址\性别二、定义方式:在单引号\双引号\三引号内包含的一串字符能够将任意类型转换成字符串三、经常使用操做+内置的方法优先掌握的操做(*****):一、按索引取值(正向取+反向取) :字符串只能取,不能改二、切片(顾头不顾尾,步长): 想要从一个大字符串中切出一个小字符串print(msg[-1::-1])#字符串反向#掌握三、长度len #一个中文也是一个字符四、成员运算in和not in五、移除字符串左右两边的字符strip:默认去空格 (x.strip())六、切分split:针对有规律字符串按照某个字符切成列表(x.split(' ')七、循环======================================该类型总结====================================存一个值有序不可变(一、可变:值变,id不变。可变==不可hash 二、不可变:值变,id就变。不可变==可hash)须要掌握的操做(****)一、strip,lstrip,rstrip #左右移除字符,左移除字符,右移除字符 (x.strip('*'))二、lower,upper #全小写,全大写 (x.lower())三、startswith,endswith #开头判断,末尾判断 (x.startswith())四、format的三种玩法 #格式化,{}里用变量名/空白/索引print('my name is {name} my age is {age} '.format(age=18,name='egon练习'))print('my name is {} my age is {} '.format(18,'egon练习'))print('my name is {1} my age is {0} '.format(18,'egon练习'))五、split,rsplit #拆分,从右往左拆分 (x.split('*',2#最大拆分数))六、join #合并,和split对立使用 ('*'.join(x))七、replace #取代 (x.replace('old','new',2#替换次数))八、isdigit #只能判断纯数字的字符串 (x.isdigit())isnumeric ,判断中文数字和罗马数字了解的操做(**)find,顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引 (x.find('a'))index,同上,可是找不到会报错 (x.index('a'))count,计数,顾头不顾尾,若是不指定范围则查找全部(x.count('a'))center,居中,中间取值,两边填充 (x.center(50#填充数量,'*'))captalize,首字母大写 (x.captalize())swapcase,字母大小写翻转title,每一个单词的首字母大写列表类型list======================================基本使用======================================一、用途:记录多个值,好比人的多个爱好二、定义方式: 在[]内用逗号分隔开多个任意类型的值三、经常使用操做+内置的方法优先掌握的操做:一、按索引存取值(正向存取+反向存取):便可存也能够取二、切片(顾头不顾尾,步长)三、长度四、成员运算in和not in五、追加 #追加不改变原来列表的内存地址 x.append('a')六、删除按照元素值去单纯地删除某个元素,del和remove没有返回值(del x[0]) (x.remove('a'))pop按照元素的索引去删除某个元素而且拿到该元素做为返回值(x.pop(1))七、循环======================================该类型总结====================================存多个值有序可变(一、可变:值变,id不变。可变==不可hash 二、不可变:值变,id就变。不可变==可hash)须要掌握的操做count统计某个元素出现的次数 (x.count('a'))extend,追加列表中多个元素 (x.extend(['a','b','c']))append,只追加一个元素(如列表,则列表做为一个总体) (x.append([1,2,3]))index查找,按索引范围时顾头不顾尾,找不到就报错(x.index('a'))insert增长,没有返回值 (x.insert(1#索引的位置,'a'))reverse 整个反转,不会排序 (x.reverse())sort从小到大排序 (x.sort())sort从大到小排序(x.sort(reverse=True))练习队列: 先进先出入队 # q.append('first')出队 # print(q.pop(0))堆栈: 先进后出入栈 # q.append('first')出栈 # print(q.pop(-1))