数据类型的方法
Posted waller
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型的方法相关的知识,希望对你有一定的参考价值。
- 数字类型
- 字符串类型及内置方法
- 列表类型及内置方法
#======================================基本使用======================================
#1、用途
#2、定义方式
#3、常用操作+内置的方法
#======================================该类型总结====================================
#存一个值or存多个值
#有序or无序(有序:但凡有索引的数据都是有序的)
#可变or不可变(
1、可变:值变,id不变。可变==不可hash
2、不可变:值变,id就变。不可变==可hash)
#======================================int类型基本使用================================
1、用途:记录手机号,年龄,身份证号,手机号
2、定义方式:
age = 20 # age = int(20)
3、常用操作+内置的方法
int(‘asd‘) # 报错
int(11.1) #报错,int只能将字符串是数字类型转为整型,小数点都不行
进制转换
1.其他进制转十进制
二进制转十进制 0 1
10 # 0*(2**0)+1*(2**1)= 2
print(int(‘10‘,2))
八进制转十进制 1 - 7
256 # 6*(8**0)+5*(8**1)+2*(8**2)= 174
print(int(‘256‘,8))
十六进制转十进制 1-9 A-F
215 # 5*(16**0)+1*(16**1)+2*(16**2) = 533
print(int(‘215‘,16))
2.十进制转其他进制
十进制转二进制
print(bin(2)) # 0b10
十进制转八进制
print(oct(174)) # 0o256
十进制转十六进制
print(hex(533)) # 0x215
该类型总结
#存一个值
#无序(有序:但凡有索引的数据都是有序的)
#不可变
==========================================================================
======================================字符串类型======================================
1、用途:记录描述性信息
2、定义方式 :用单引号或多因号括起来‘‘,‘‘ ‘‘,‘‘‘ ‘‘‘
s = ‘hello word‘ # s = str(hello word)
3、常用操作+内置的方法 (所有的方法均不改变字符串原值)
按索引取值(正向,反向),只能取
print(s[0]) # >>> h print(s[-1]) # >>> d
切片(可以正切,反切,指定步长)
print(s[0:5]) # >>> hello print(s[0:8]) # 默认步长为1 >>> hello wo print(s[0:8:2]) # hlow print(s[1:5:-2]) # 步长为负数,取不出 print(s[-1:-5]) # 步长为正数,取不出 print(s[-1:-5:-2]) # 反向切片 >>> do
用 len() 统计字符串长度(字符个数)
s = ‘ ‘ print(len(s)) # >>> 1
成员运算 in和not in 判断数据是否其中
s = ‘hello word‘ print(‘he‘in s) # True print(‘ ‘in s) # True print(‘w‘in s) # True print(‘H‘in s) # False print(‘H‘not in s) # True
用 .strip() 默认去掉字符串两边的空格,不去中间的空格
s = ‘hello word‘ inp_s = input(‘your input>>>:‘).strip() if s == inp_s: print(‘good‘) # ps : 内置方法统一采用句点符‘.’号 s = ‘hello word‘ s1 = ‘ hello word ‘.strip() print(s == s1) # True
若要去掉其他符号,在.strip()的括号内加入你想去掉的符号,用引号引起来
s = ‘hello word‘ s1 = ‘#%^hello word#% ^&‘.strip(‘#$%^ &‘) print(s == s1) # True
lstrip()去点字符串左边的符号 rstrip()去掉字符串右边的符号 l=left r=right
s = ‘&&&hello word####‘ print(s.lstrip(‘&‘)) #去掉左边 >>> hello word#### print(s.rstrip(‘#‘)) #去掉右边 >>> &&&hello word
split 字符串按某种分隔符(也可以是字符)切分成列表,进行进一步的操作
s = ‘waller:123:a‘ print(s.split(‘:‘)) # >>> [‘waller‘, ‘123‘, ‘a‘] name,psw,info = s.split(‘:‘) # 把切分出来的列的值,解压赋值给name,psw,info print(name,psw,info) # >>> waller 123 a #split 默认由左向右切分,rsplit由右向左切分,可以设定却分的次数 s = ‘waller:name:age:20‘ print(s.split(‘:‘)) # 默认从左向右依次切分 >>> [‘waller‘, ‘name‘, ‘age‘, ‘20‘] print(s.split(‘e‘,1)) # 只切分一次 >>> [‘wall‘, ‘r:name:age:20‘] print(s.rsplit(‘e‘,1)) # 从右向左切分一次 >>> [‘waller:name:ag‘, ‘:20‘]
join 把容器类型里的数据按某种符号或字符结合成一整个字符串 注意:容器里的数据类型必须是str类型
l = [‘waller‘,‘123‘,‘a‘] s = ‘|‘.join(l) print(s) # >>> waller|123|a
循环 字符串类似容器类型数据,可以用for循环取除字符
s = ‘ab cd‘ for item in s: print(item,end=‘‘) # >>> ab cd
lower()把字符串转成全小写; upper()把字符串转成全大写
s = ‘Hello WoRD‘ print(s.lower()) # >>> hello word print(s.upper()) # >>> HELLO WORD
s = ‘hElLo WorD‘ # captalize 首字母大写 print(s.capitalize()) # >>> Hello word # swapcase 大小写互换 print(s.swapcase()) # >>> HeLlO wORd # title 每个单词首字母大写 print(s.title()) # >>> Hello Word
starswith endswith
s = ‘hello word‘ print(s.startswith(‘h‘)) # True 判断字符串是以什么为开头的 print(s.startswith(‘he‘)) # True print(s.endswith(‘d‘)) # True 判断字符串是以什么为结尾的
.format 的格式化输出
# 按位置占位,谁先来谁先进 print(‘my name is ,my age is ‘.format(‘waller‘,20))
# >>> my name is waller,my age is 20 print(‘my name is ,my age is ‘.format(20,‘waller‘))
# >>> my name is 20,my age is waller
# 按索引占位 print(‘my name is 0,my age is 1‘.format(‘waller‘,20))
# >>> my name is waller,my age is 20 print(‘my name is 1,my age is 0‘.format(‘waller‘,20))
# >>> my name is 20,my age is waller print(‘my name is 0,my age is 0‘.format(‘waller‘,20))
# >>> my name is waller,my age is waller
# 按指定位置占位 print(‘my name is name,my age is age‘.format(name = ‘waller‘,age = 20))
# >>> my name is waller,my age is 20 print(‘my name is age,my age is name‘.format(name = ‘waller‘,age = 20))
# >>> my name is 20,my age is waller
replace 字符替换
s = ‘waller is stutend for oldboy , waller in python10 class ‘ print(s.replace(‘waller‘,‘wong‘,1)) # .replace(‘被替换的字符‘,‘替换字符‘,替换次数) 默认全部替换
# >>> wong is stutend for oldboy , waller in python10 class
isdigit 判断字符串中包含的是否是纯数字
age = 25 num = 0 while True: if num == 3: an = input(‘是否继续 y/n>>>:‘).lower().strip() if an == ‘y‘: num = 1 continue else: break guess_age = input(‘>>>:‘).strip() if guess_age.isdigit: # isdigit有布尔值属性 guess_age = int(guess_age) if guess_age == age: print(‘猜对了‘) break else: print(‘猜错‘) num += 1 else: print(‘请输入数字‘)
find,rfind 查找字符的索引值,找不到不报错,返回-1.
index,rindex 查找字符的索引值,找不到则报错。
count 统计字符串出现的次数。
s = ‘hello word‘ print(s.find(‘w‘)) # >>> 6 print(s.find(‘w‘,0,3)) # >>> -1 按索引范围查找 print(s.index(‘w‘)) # >>> 6 print(s.index(‘w‘,0,3)) # >>> 报错 print(s.count(‘o‘)) # >>> 2
center,ljust,rjust,zfill
s = ‘hello word‘ print(s.center(30,‘*‘) ) # 居中 字符串加* 共30个字符,字符串居中显示 # >>> **********hello word********** print(s.ljust(30,‘%‘)) # 居左 # >>> hello word%%%%%%%%%%%%%%%%%%%% print(s.rjust(30,‘$‘)) # 居右 # >>> $$$$$$$$$$$$$$$$$$$$hello word print(s.zfill(30)) # 居右 用 0 补位 # >>> 00000000000000000000hello word
expandtabs
s = ‘w\tps‘ print(s.expandtabs(10)) # 在字符串\t处插入空格 # >>> w ps
存多个值
有序(有序:但凡有索引的数据都是有序的)
不可变
==========================================================================
以上是关于数据类型的方法的主要内容,如果未能解决你的问题,请参考以下文章