进击のpython
n.capitalize(self):首字母大写
n = "qIaOzhipEiqi"
print(n.capitalize())
n.center(self,width,fillchar=None):居中
n = "qIaOzhipEiqi"
print(n.center(20, "*"))
20表示输出字符串长度,不够部分用“*”进行补充
n.count(self,sub,start=None,end=None):某个元素出现的次数
n = "qIaOzhipEiqi"
print(n.count("q"))
表示“q”在n字符串中出现了几次
而 start 和 end 参数 可以将字符串n进行分块查找
n = "qIaOzhipEiqi"print(n.count("q",2,9))
从下标2到下标9之间,没有“q”的出现
n.endswith(self):是否以self字符结尾
n = "qIaOzhipEiqi"
print(n.endswith("a"))
print(n.endswith("i"))
没啥说的,输出的是布尔值。
n.format(self,*arg,**kwargs):格式化输出
先不对 *arg 以及 **kwargs 做过多的解释,可以先熟悉他的用法:
print("i am %s , %s years old" % ("lilei", "22"))
首先,正常一般的格式化输出是上述方式,将想要变动的地方用%s进行占位,然后在后面进行补充。%s 就是 %str 字符串的意思,同理还有%d 就是 %digit 数字的意思。
s = "i am {0},{1}years old,i am {0}" n = s.format("lilei", "22") print(n)
和第一种的一样,将要替换的,放一个占位符{},里面放上序号,就可以进行相应位置的数据替换。好处是,可以将某个数据进行多次替换(如:“lilei”)。
-
s = "i am {name},{age}years old" n = s.format(name="lilei", age="22") print(n)
这种写法就是“定点爆破”,对每个要替换的数据进行更明确的提示,方便进行大量替换。
==这里有个容易忽略的点!==
==就是在py3.6之后的版本,增加了一种新的字符串的格式化手段!==
# 只提一下语法 name = "牙牙" print(f"我是{name}的小可爱")
n.index(self):字符在字符串中的索引位置(只会返回第一个!)
n = "qIaOzhipEiqi"
print(n.index("q"))
那要是没找到呢?
n = "qIaOzhipEiqi"
print(n.index("x"))
不会返回-1,而是报错。
那要是想把第二个“q”的索引打印出来呢?在思考中。。。 。。。
n.isdigit(self):判断是否是数字
略。
n = "qIaOzhipEiqi"
print(n.isdigit())
n.islower(self):判断全是小写
略。。
n = "qIaOzhipEiqi"
print(n.islower())
n.isspace(self):判断是否是空格构成
n = "qIaOzhipEiqi"
print(n.isspace())
等等等等。。。 。。。
这还没结束,这里有个tips,看这里:
n = ""
print(n.isspace())
n = " "
print(n.isspace())
只有“”,里面什么也不敲,也是False!因为里面没有空格!
n.isupper(self):是否都是大写
这个,不想贴图了…
join(self,iterable):字符串拼接
在搞懂这个之前,有一个词 值得我们注意
iterable
中文意思是可迭代的
什么是可迭代的呢?
现在先不想,就知道字符串可以这么用就好,别纠结!
好!之后再来看例子:
n = "qIaOzhipEiqi"
s = ''.join(n)
print(s)
没什么概念是吧,再来!
n = "qIaOzhipEiqi"
s = '*'.join(n)
print(s)
看出来了吧!所以说为什么是字符串的拼接呢?
n.lower(self):全部小写
后面有个对应的方法 不贴图了。
知道能干什么吗?
验证码啊!大*!
n.replace(self,old,new,count=None):替换
n = "qIaOzhipEiqi"
s = n.replace("q","A")
print(s)
把字符串中旧的“q”,替换成新的“A”,全面替换!
那我想要替换一个两个的呢?
count参数很好的解决了这个问题!
n = "qIaOzhipEiqi"
s = n.replace("q", "A", 1)
print(s)
将 count 设置成 1 ,就是只替换一个,所以后面的 “q” 就没有被 "A" 替换掉。
n.split(self,sep=None,maxsplit=-1):切割!(切片)
就像切面包一样,我想切一半面包,是不是就要找到面包一半的点,然后切下去?
那sep就是面包一半的点
n = "qIaOzhipEiqi"
s = n.split("i")
print(s)
这里,把“i”当作切的位置,进行“下刀”!因为有三个“i”,所以切三刀,就应该有四个元素,没问题吧(这里考虑边缘也算是一部分,所以才有空字符串)!
那我就想吃三分之一个面包,后面的我都想放起来,不切,怎么办呢?
那就需要 maxsplit 这个参数了!
n = "qIaOzhipEiqi"
s = n.split("i",1)
print(s)
这样就可以只切一刀了,剩下的留到冰箱里,慢慢吃……
n.startswich("str") : 判断字符是否以str开头
n = "qiaozhipeiqi"
print(n.startswith("a"))
print(n.startswith("q"))
字符串的拼接,可以用这个方式进行简单设置
n = "qiaozhipeiqi"
n += "zhaosi"
print(n)
n.strip(self,chars=None):头尾删除
n = "qIaOzhipEiqi"
s1 = n.strip("i")
s2 = n.strip("q")
print(s1,s2)
可以看到,这个方法,只对字符串的头尾有效!
s1是删除头尾的“i”
s2是删除头尾的“q”
一定是头尾!中间的不算!!!
n.swapcase():两极(大小写)反转
大变小,小变大!
n = "qIaOzhipEiqi"
print(n.swapcase())
n.upper():全部大写
上面全部小写的兄弟!
n = "qIaOzhipEiqi"print(n.upper())