python 数字以及字符串(方法总结,有的可能理解错误)
数字类型(int):
在python 2中,数字类型可以分为整形,长整形,浮点型,以及复数。在python3中都是整形和长整形都称之为整形,且python3中没有限制。
1.int方法使用,用于转换字符类型为数字类型(注意被转换的数据类型必须是数字)
a = '1234' #这里a是一个字符串,验证如下,可以用type(a)可显示出来 print(type(a)) print(a) u = int(a) #这里u是一个数字类型的,这里的话是讲字符串类型转换为数字类型 print(type(u)) print(u)
2.bit_length(self)方法使用,这里我理解的是看这些数字或者字符串要至少占用多少的位数
num = 12 print(num.bit_length())
执行结果: 4
字符串(str):
1.capitalize 方法使用,作用是将首字母变大写:
Name = "yangxiufeng " S = Name.capitalize() print(S)
执行如下: Yangxiufeng
2.casefold 方法使用,作用是将字符串里的字母变成小写:
Name = "YANGXIUFENG" S = Name.casefold() print(S)
执行如下: yangxiufeng
3.center 方法使用:(内容居中,width:总长度;fillchar:空白处填充内容,默认无)还有ljust ,rjust 指定左右边填充字符
Name = "YANGXIUFENG" S = Name.center(20,"=") #可以指定两边的字符长度,切字符只能是一位 S1 = Name.center(20) #默认是将字符串放到指定长度的中心 print(S) print(S1)
执行如下: ====YANGXIUFENG===== YANGXIUFENG
4.count 方法的使用:(子序列的个数)
name = "xiaooomimming" S = name.count('o') #count参数可以查看某个字符或者字符组合在字符串里出现的次数 S1 = name.count("o",4) #也可以用start 和end 限定未知进行范围查看出现的次数 print(S) print(S1)
执行如下: 3 2
5.encode 方法的使用:
待续
6.endswith 方法的使用:
name = "xiaooomimming" S = name.endswith('g') #用来确认字符串最后结尾是不是自己执行的,如果是的话将会提示True,否则是False S1 = name.endswith('g',1,4) #用来指定范围,看范围内的字符是不是以自己指定的字符结尾,布尔值表示是与否 print(S) print(S1)
执行如下: True False
7.expandtabs 方法的使用: 将字符串中的table替换成指定的空格数,从前往后数限定的数字为一组遇到"\t" 如果不足会以空格补全
name = "xiaooo\tmimming" S=name.expandtabs(tabsize=8) print(S) print(name)
执行如下: xiaooo mimming xiaooo mimming
实例:
A = "name\tmail\tphonenameber\nyangxiufeng\t87987889@qq.com\t123456\nyangxiufeng\t87987889@qq.com\t123456\n"
print(A.expandtabs(30))
结果如下:
name mail phonenameber
yangxiufeng 87987889@qq.com 123456
yangxiufeng 87987889@qq.com 123456
7.find 方法的使用:(寻找子序列的位置,没找到的话返回 -1)
name = "xiaooomimming" S = name.find('m') #查找字符串里是否有自己想要的字符如果有会显示字符的下标,没有的话会显示 -1表示,也可以指定范围 S1 = name.find('m',11,20) print(S) print(S1)
执行如下: 6 -1
8.format 方法的使用:字符串格式化,动态参数
A = '{name} is {age} years old' S= A.format(name = 'yangxiufeng',age= 18) #指定格式书写方式用{}表示,也可以用下列的方法表示,默认传参 B = '{} is {} years old' S1 = B.format('XIUFENG',45) #这里我们是按位置对应起来,一个字符一个坑,跟填空题差不多,只不过是按顺序而已了 print(S) print(S1) 执行如下: yangxiufeng is 18 years old XIUFENG is 45 years old
9.format_map 方法的使用:
A = '{name} is {age} years old' S= A.format_map({'name':'yangxiufeng','age':'18'}) #此方法和format差不多,书写格式是这样的 print(S) 执行如下: yangxiufeng is 18 years old
10.index 方法的使用:子序列位置,如果没找到,报错
A = 'yangxiufeng' B = A.index('u') #查找指定字符的下标 C = A.index('t') #查找不存在字符串里的字符时会报错,这个的话是没有find方法好用,报错会给(-1) print(B) print(C) 执行如下: 6 Traceback (most recent call last): File "E:/new/文件io/Nine.py", line 5, in <module> C = A.index('t') #查找不存在字符串里的字符时会报错,这个的话是没有find方法好用,报错会给(-1) ValueError: substring not found
11. isalnum 方法的使用:是否是字母和数字,如果有其他的符号会出现False
A = 'yangxiufeng-*' B = 'yangxiufeng23432' print(A.isalnum()) print(B.isalnum()) 执行如下: False True
12.isalpha 方法是否是字母 也是布尔值提示
A = 'yangxiufeng' B = 'yangxiufeng1' print(A.isalpha()) print(B.isalpha()) 执行如下: True False
13. isdecimal ,isdigit,isnumeric 方法:是否为数字(3个方法都可以用来判断是否为普通的十进制数字,isdigit 方法可以判断特殊的数字以及十进制数字,isnumeric功能强大也可以额外判断中文的数字)
test = "223" #纯数字判断
v1 = test.isdecimal()
v2 = test.isdigit()
v3 = test.isnumeric()
print(v1,v2,v3)
执行结果:
True True True
test = "223②" #特殊数字判断
v1 = test.isdecimal()
v2 = test.isdigit()
v3 = test.isnumeric()
print(v1,v2,v3)
执行结果:
False True True
test = "223②二" #加中文字符判断
v1 = test.isdecimal()
v2 = test.isdigit()
v3 = test.isnumeric()
print(v1,v2,v3)
执行结果:
False False True