数据类型及内置方法
一、整型(int) 用途:有QQ号、手机号、不需要字母的身份证 1.定义方式: age = 18? #age = int(18) int (‘10’)#只能转到纯数字的字符串,小数点都不行。 2.进制转换: ? ?十进制转二进制: ? ?print(bin(12)) :0b1100 ? ?十进制转八进制: ? ? print(oct(12)):0o14 ? ? 十进制转十六进制: ? ? ?prInt(hex(12)):0xc ? ? ?各种进制转回十进制: ? ? ?print(int(‘1100‘,2)) ? ? ?print(int(‘1100‘,8)) ? ? ?print(int(‘1100‘,16)) 3.该类型总结:? ? 1.存一个值 ? 2.有序(但凡有索引的数据都为有序) ? 3.它是不可变类型(在值改变的情况下,id也跟着改变,即为不可变类型) 二、浮点型 作用:薪资、身高、体重 salary = 1.1# float(1.1) res = float(‘1.11‘) ?print(type(res)) ?<class ‘float‘> 三、字符串 用途:描述性 定义方式:‘’ ,“”,‘‘‘ ‘‘‘ s = ‘hello baby’ s1 = str([1,2,3,4]) print(type(s1) <class ‘str‘> 无论什么类型,都能变成字符串。 1.按索引取值 s = ‘hello big baby‘ print(s[0]) h 切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串。 print(s[0:5]) >>>hello print(s[0:10:1])>>>hello big #步长不写默认是1 print(s[0:10:2])>>>hlobg #步长表示隔几个取一个 负取值:prInt(s[0:5:-1])>>>不输出 原因:负取值是从右往左取值 ? ? ? ? ? ? ? print(s[5:0:-2])>>>le ? ? ? ? ? ? ? print(s[-1:-10:-1])>>>ybab gib? 2.长度len:统计字符串中,字符的个数。 3.成员运算in和not in:判断一个子字符串是否存在于一个大的字符串中 4.去掉字符串左右两边的字符strip,不管中间的 ? ?username = input(‘>>>:‘) ? ?if username == ‘zzj‘: ? ? ? print(‘goodjob‘) 但是如果,在输入时不小心键入了空格,那么就不会有运行结果了。 所以用到该方法: ? name1 = ‘zzj‘ ? name2 = ‘? ? zzj? ? ? ? ‘.strip() ? print(name1 == name2)>>>True ? name3 = ‘$$$$$$zzj$$$$$$‘?? ? print(name3.strip(‘$‘)) ps:只能取首尾! 4.1 rstrip(): lstrip(): ? ?name = ‘$$$$$zzj$$$$$$‘ ? ?print(name.lsptrip(‘$‘))>>>zzj$$$$$$ ? ?print(name.rsptrip(‘$‘))>>>$$$$$zzj 5.切分split:针对按照某种分割符组织的字符串,可以用split将其切分成列表,进而进行取值。顺序默认从左往右!? ? ?data = ‘jason|123|handsome‘ ? ?print(data,split(‘|‘)) ? ?强调:split切分出来的数据类型是一个列表 6.循环 ? ?msg=‘hello‘ ? ?for item in msg: ? ?print(item)>>>h?e?l?l?o 7.lower,upper ? ?s = ‘JaSoN‘ ? ?print(s.upper())>>>JASON ? ?print(s.upper())>>>jason ? ?调用字符串的方法并没有改变字符串本身 8.startswith,endswith ? ?s1 = ‘egon is dsb‘ ? ?print(s1.startswith(‘e‘)) >>>True # 判断字符串是否以什么什么开头 ? ?print(s1.endswith(‘n‘)) >>>Flase# 判断字符串是否以什么什么结尾 9.format的三种玩法(python推荐使用format做格式化输出) ? ?第一种? 按位置占位? ?跟%s原理一致 ? ?str1 = ‘my name is {} my age is {}‘.format(‘jason‘,18) ? ?str1 = ‘my name is {} my age is {}‘.format(18,‘jason‘,) ? ?print(str1) ? ?第二种? 按索引占位 ? ?str1 = ‘my {1} name is {0} my {0} age is {0}‘.format(‘egon‘,18) ? ?print(str1) ? ?第三种? 指名道姓占位(关键字传参) ? ?str1 = ‘my {name} name is {age} my {name} age is {name}‘.format(name=‘jason‘,age=18) ? ?print(str1) 10.replace ? ?str = ‘egon is dsb and egon is sb he has a BENZ‘ ? ?res = str.replace(‘egon‘,‘kevin‘,1) ? ?print(res)>>>kevin is dsb and egon is sb he has a BENZ ? ?print(str)>>>egon is dsb and egon is sb he has a BENZ #不改变原变量 11.isdigit :断字符串中包含的是否为纯数字 ? ?while True: ? ? ?age = input(‘>>>:‘) ? ? ?if age.isdigit(): ? ? ? ??age = int(age) ? ? ? ??if age > 28: ? ? ? ? ? ?print(‘阿姨好‘) ? ?else: ? ? ?print(‘请你给我好好输!‘) 12.find,rfind,index,rindex,count ? ?s = ‘kevin is dsb o and kevin is sb‘ ? ?print(s.find(‘dsb‘)) >>>9 # 返回的是d字符所在的索引值 ? ?print(s.find(‘xxx‘))>>>-1? # 找不到的时候不报错返回的是-1 ? ?print(s.find(‘i‘,3)) >>>-1# 还可以通过索引来限制查找范围 ? ?print(s.index(‘o‘)) >>>13 # 返回所传字符所在的索引值 ? ?print(s.index(‘i‘,3)) >>>找不到直接报错 # 返回所传字符所在的索引值 ? ?print(s.count(‘n‘)) >>>3 # 统计字符出现的次数 13.center,ljust,rjust,zfill ? ??s9 = ‘jason‘ ? ?print(s9.center(12,‘*‘))>>>***jason**** ? ?print(s9.ljust(40,‘$‘))>>>jason$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ? ?print(s9.rjust(40,‘$‘))>>>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$jason ? ?print(s9.rjust(40,‘ ‘))>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?jason ? ?print(s9.zfill(40))>>>00000000000000000000000000000000000jason 14.expandtabs ? ?s10 = ‘atbc‘ ? ?print(s10.expandtabs(100))>>> a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bc 15.captalize,swapcase,title ? ?s12 = ‘hElLo WoRLD sH10‘ ? ?print(s12.capitalize())? # Hello world 首字母大写 ? ?print(s12.swapcase())? # 大小写互换 ? ?print(s12.title())? # 每个单词的首字母大小 16.is数字系列 ? ?num1=b‘4‘ #bytes ? ?num2=u‘4‘ #unicode,python3中无需加u就是unicode ? ?num3=‘壹‘ #中文数字 ? ?num4=‘Ⅳ‘ #罗马数字 ? ?# ‘‘.isnumeric(): unicode,中文数字,罗马数字? ? 只要是表示数字都识别 ? ?print(num2.isnumeric()) ? ?print(num3.isnumeric()) ? ?print(num4.isnumeric()) ? ?# ‘‘.isdecimal(): unicode? ?只识别普通的阿拉伯数字 ? ?print(num2.isdecimal()) ? ?print(num3.isdecimal()) ? ?print(num4.isdecimal()) ? ?# ‘‘.isdigit() :bytes,unicode? ? 通常情况下使用isdigit就已经满足需求了 ? ?print(num1.isdigit()) ? ?print(num2.isdigit()) ? ?print(num3.isdigit()) ? ?print(num4.isdigit()) 四、列表类型 作用:多个装备,多个爱好,多门课程。 定义:[]内可以有多个任意类型的值,逗号分隔 l=list(‘abc‘) l1=list({‘name‘:‘jason‘,‘password‘:‘123‘}) print(l1) list内部原理就是for循环取值 然后一个个塞到列表中去 1.按索引存取值(正向存取+反向存取):即可存也可以取 ? ?l = [1,4] ? ?print(l[0:4:1]) ? ?print(l[0::]) ? ?print(l[5::-1]) ? ?print(id(l)) ? ?l[0] = 69 ? ?print(id(l)) ? ?print(l) 2.切片(顾头不顾尾,步长) ? ?l = [11,22,33,44,55] ? ?l1 = [99,88,77,66] ? ?2.1尾部添加一个66 ? ? ??l.append(66)? # 注意append值能将被添加的数据当作列表的一个元素 ? ? ??print(l)>>>[11,55,66] ? ?2.2任意位置添加元素 ? ? ??l.insert(2,96)? # 通过索引在任意位置添加元素 ? ? ??print(l) >>>[11,96,66] # insert值能将被添加的数据当作列表的一个元素 ? ?2.3.添加容器类型数据 ? ? ?l.append(l1) ? ? ?l.insert(-1,l1) ? ? ?l.extend(l1)?# 内部原理for循环l1一个个追加到列表的尾部 ? ? ?l.extend([1,]) ? ? ?print(l) ? 2.4.长度 ? ??print(len(l))>>>5 ? 2.5.成员运算in和not in ? ??print( 444 in l)>>>Flase ? 2.6.删除 ? ? del l[2]? # del适用于所有的删除操作 ? ??print(l) ?2.7? res1 = l.pop() 尾部弹出 ? ? ? ??res2 = l.pop() ? ? ? ??res3 = l.pop() ? ? ? ??print(res1,res2,res3)>>>55 44 33 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |