手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
数据类型详解一
数据类型详解一
作者:
iskwiw
| 来源:发表于
2019-03-22 20:07 被阅读0次
可变不可变类型 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 不可变类型:值改变,但是id也跟着改变,证明产生了新的值,是可变类型 不可变数据类型:整型int、浮点型float、字符串str 可变数据类型:列表list、字典dict 数字类型 一、整型int===============================基本使用===============================1、用途:记录年龄、等级、数量、QQ号等整型数字相关2、定义方式: age = 10 # 本质 age = int(10) int()被称为工厂函数数据类型转换: 只能将纯数字的字符串转成intx = int('123123') # 正确x = int('12.3') # 错误x = int(12.3) # 正确3、常用操作+内置的方法 进行算术运算与比较运算 二、浮点型float===============================基本使用===============================1、用途:记录身高、薪资、体重等浮点数相关2、定义方式salary = 10.1 # 本质salary = float(10.1)数据类型转换: 将只包含数值型字符的字符串转成floatx=float('3.1') # 正确x = float('12') # 正确===============================该类型总结===============================只存一个值不可变示例:x=3.1print(id(x))x=4.3print(id(x)) 字符串类型==============================基本使用==============================1、用途:记录描述性质的状态2、定义方式:在单引号、双引号、三引号内包含一串字符串msg = 'hello' # 本质 msg = str('hello')str(hello) # 错误,因为没有引号就是变量名str(heinen'hehe"heheh) # 错误,因为是变量名 数据类型转换:所有类型都可以被str转成字符串类型3、常用操作 3.1 按索引取值(正向取、反向取):只能取 msg = ‘hello’ print(msg[0],type(msg[0])) # 取第0位 print(msg[-1]) # 取倒数第1位 print(msg[-2]) # 取倒数第2位 msg[0] = 'H' # 错误,因为不能按照索引改值,是不可变型 3.2 切片(顾头不顾尾,步长,按照索引来的) 只是拷贝,因为是不可变 msg = 'hello' msg[0:3:1] # 等同于msg[0:3],取第0 1 2位组成字符串,即'hel' msg[:] # 就是msg本身 msg[1:] #从第2位开始取,默认步长为1 msg[:3:] #从第0位开始取,到第2位,默认步长为1 msg[::2] # 取第0 2 4位组成字符串,即'hlo' 倒着取 msg[-1:-5:-1] # 永远记住顾头不顾尾,取倒数第一到四位,步长位-1,不能是+1 msg[-1::-1] # ‘olleh’ msg[::-1] 哪个位置没参数,哪个位置就是默认值,但是倒着取时,步长必须有,因为默认步长时+1 虽然字符串可以取 但是还是列表方便 3.3 长度len msg = 'hello word' 只有能含有多个值得数值类型才能用len() 3.4 成员运算in或者not in:判断一个子字符串是否在于大字符串中 msg = 'kevin is dsb' print('kevin' in msg) print('kevin111' in msg) print('aaa' not in msg) # 等同于 print(not 'aaa' in msg) 但是这个不推荐 3.5 移除空白strip:用来去除字符串左右俩边的字符,不指定则默认取出的是空格 print('\n') msg = ‘ he llo ’ res = msg.strip() print(res) 函数参数中看到self当作不存在 print('**********eg***on****'.strip('*')) # 从左边开始,找到*就删除,再从右边开始,找到*就删除 print('*******=-\/****egon#@$******'.strip('*=-\/$@#')) # 只要strip中的参数在字符的左右俩边就能都被清除 3.6 切分split:针对有规律的字符串,按照某种分隔符切成列表 info = 'egon : 18 : male' res = info.split(':') cmd = 'get | a.txt | 33333' print(cmd.split('|',1)) 用:作为连接符号将纯字符串的列表拼接成一个字符串 l = ['egon','18','male'] res = l[0] + l[1] + l[2] 上面俩行等同于: res = ':'.join(l) 3.7 循环 for item in ‘hello’: print(item) 需要掌握的操作 1、strip,lstrip,rstrip print('*******egon*******'.stirp('*')) print('*******egon*******'.lstrip('*')) print('*******egon*******'.rstrip('*')) 2、lower,upper print('Abc123'.lower()) print('Abc123'.upper()) 3、startswitch,endswitch msg = 'alex is dsb' print(msg.startswith('alex')) print(msg.endswith('b')) 4、format的三种玩法 res = 'my name is %s my age is %s' % ('egon,18) 使用%s 时,%左边%s的数量必须和%右边参数的数量相等,而且顺序相对应 res = 'my name is {name} ,my age is {age}.'.format(age = 18, = 'egon) res = 'my name is {} ,my age is {}.'.format('egon',18) # {}内为空就是按照位置传值 res = 'my name is {0} {1},my age is {1} {1} {1} {1}.'.format('egon',18) 5、split,rsplit msg = 'a:b:c:d' print(msg.split(':',1)) print(msg.rsplit(':',1)) 6、replace msg = 'kevin is kevin is hahaha' res = msg.replace('kevin','sb',1) print(res) 7、isdigit print('123123'.isdigit()) # 如果字符串是由纯数字组成的,则返回True print('123123 '.isdigit()) print('123123asdf'.isdigit()) print('12312.3'.isdigit())了解 1、find、rfind、index、reindex、count name='egon say hello' print(name.find('o',1,3)) # 顾头不顾尾,找不到则返回-1,不会报错,找到了则显示索引 print('123 ke123ke'.find('ke')) # 从第0位开始找,找到第一个后,返回第一个目标字符的起始位置(索引),如果没有返回-1,不会报错 print('123 ke123ke'.find('xxx')) print('123 ke123ke'.rfind('ke')) # 从倒数第一位开始找,找到第一个后,返回第一个目标字符的正数的起始位置(索引),如果没有返回-1,不会报错 name='egon say hello' print(name.index('e',2,4)) # 顾头不顾尾,找到了则显示索引,但是找不到会报错 print('123 ke123ke'.index('ke')) # 从第0位开始找,找到第一个后,返回第一个目标字符的起始位置(索引),如果没有,会报错 print('123 ke123ke'.index('xxx')) print('123 ke123ke'.rindex('ke')) # 从倒数第一位开始找,找到第一个后,返回第一个目标字符的正数的起始位置(索引),如果没有,会报错 name='egon say hello' print(name.count('e',1,3)) # 顾头不顾尾,如果不指定范围则查找所有 print('123 ke123ke'.count('ke',0,6) # 从起始位(0)到终止位(5)开始查找‘ke’,如果存在,则返回个数,如果没有,则返回0 2、center,ljust,rjust,zfill print('egon'.center(50,'*')) #**********************engon*********************** print('egon'.ljust(50,'*')) # egon********************************************** print('egon'.rjust(50,'*')) # **********************************************egon print('egon'.rjust(50,'0')) # 0000000000000000000000000000000000000000000000egon print('egon'.zfill((50)) # 用0填充 0000000000000000000000000000000000000000000000egon name='egon' print(name.center(30,'-')) print(name.ljust(30,'*')) print(name.rjust(30,'*')) print(name.zfill(50)) 3、expandtabs:把字符串中的tab符号('\t')转为空格,tab符号('\t')默认的空格数是 8。 name='egon\thello' print(name) print(name.expandtabs(1)) 4、captalize,swapcase,title print('abcdef dddddd'.capitalize()) print('abcAef dddddd'.swapcase()) print('abcAef dddddd'.title()) 5、is数字系列 num1=b'4' # bytes num2=u'4' # unicode,python3中无需加u就是unicode num3='四' # 中文数字 num4='Ⅳ' # 罗马数字 #isdigt:bytes,unicode bytes与阿拉伯数字组成的字符串 print(num1.isdigit()) # True print(num2.isdigit()) # True print(num3.isdigit()) # False print(num4.isdigit()) # Flase #isdecimal:uncicode #bytes类型无isdecimal方法 阿拉伯数字组成的字符串 print(num2.isdecimal()) # True print(num3.isdecimal()) # False print(num4.isdecimal()) # Flase #isnumberic:unicode,中文数字,罗马数字 #bytes类型无isnumberic方法 阿拉伯数字\中文\罗马组成的字符串 print(num2.isnumeric()) print(num3.isnumeric()) print(num4.isnumeric()) #三者不能判断浮点数 num5='4.3' print(num5.isdigit()) print(num5.isdecimal()) print(num5.isnumeric()) 总结:最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景,如果要判断中文数字或罗马数字,则需要用到isnumeric 6、is其他 print('===>') name='egon123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isidentifier()) print(name.islower()) print(name.isupper()) print(name.isspace()) print(name.istitle())====================================该类型总结====================================存一个值有序不可变msg=' hello 'msg.strip()print(msg)列表类型===============================基本使用===============================基本使用1、用途:按照位置记录多个值,索引对应值2、定义方式:在[ ]内用逗号分隔开多个任意类型的值l=['a',11,11.3,] # l=list(['a',11,11.3,])数据类型转换:凡是能够被for循环遍历的数据类型都可以能转换成listres=list('hello')res=list(123) # 报错print(res)res=list({'a':1,'b':2,'c':3}) # ['a','b','c' ]print(res)3、常用操作+内置方法优先掌握的操作: 3.1、按索引存取值(正向存取+反向存取):即可存也可以取 l=['a','b','c','d','e'] print(l[0]) print(l[-1]) print(id(l)) l[0]='A' print(id(l)) 强调强调强调!!!:对于不存在的索引会报错 l[5]='AAAA' dic={"k1":111} dic['k2']=2222 print(dic) 3.2、切片(顾头不顾尾,步长) l=['a','b','c','d','e'] print(l[1:4]) print(l[::-1]) 3.3、长度 l=['a','b','c','d','e'] print(len(l)) 3.4、成员运算in和not in l=['a','b','c','d','e'] print('a' in l) 3.5、追加与insert l=['a','b','c','d','e'] l.append('xxx') l.append('yyy') print(l) l.insert(0,'xxxx') print(l) 3.6、删除 l=['a','bbb','c','d','e'] del是一种通用的删除操作,没有返回值 del l[0] print(l) dic={'k1':1} del dic['k1'] print(dic) l.remove(指定要删除的那个元素),没有返回值 res=l.remove('bbb') print(l) print(res) l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素 l=['a','bbb','c','d','e'] l.pop(-1) res=l.pop(1) print(l) print(res) 3.7、循环 l=['a','b','c','d','e'] for item in l: print(item) 练习: 队列:先进先出 进队 l.append('first') l.append('second') l.append('third') print(l) 出队 print(l.pop(0)) print(l.pop(0)) print(l.pop(0)) 堆栈:后进先出 需要掌握的操作 l=['aaa','bb',345] l.clear() l.append([1,2,3]) for i in [1,2,3]: l.append(i) l.extend([1,2,3]) l.reverse() 只有在类中中所有元素都是同种类型的情况下才能用sort排序 l=[1,3,2] l.sort(reverse=True) l=['z','d','a'] l.sort() print(l)===============================该类型总结===============================存多个值有序可变
相关文章
网友评论
本文标题:
数据类型详解一
本文链接:
https://www.haomeiwen.com/subject/rmqdvqtx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
摄影
故事
互联网
读书
旅行
热点阅读
中考备考会有感
活法
日更第四天
十六字令‖日
爸爸为安宝贝写的日记(0003)
电影《素媛》原凶手将被释放,恶魔还在人间
秋辞
学习没有捷径,但有高效的学习方法
该死的成长
随笔杂记5
网友评论