今天看了下学习视频,发现str也有许多方法,才发现昨天了解的关于字符串知识甚少,所以今天查看了python的源码,学习一些新的方法
以下是我把边对照着源码边翻译,边尝试实现方法
1.第一个字符有大写字母,其余小写字母。
def capitalize(self)
v = "sdaFDFHJIILLKCfdsdf" t = v.capitalize() print(t) """ Sdafdfhjiillkcfdsdf """
2.所有格式都小写 如希腊文 使用较少
def casefold(self)
v = "Α" t = v.casefold() print(t) """ α """
3.返回S以一串长度宽度为中心。 填充是指定的字符(默认为空格)带等号的可以不写,有默认值
def center(self, width, fillchar=None)
v = "Hello" t = v.center(20,'*') print(t) """ *******Hello******** """
4.计算字符串中所对应数量,从0开始计算
def count(self, sub, start=None, end=None)
v = "fafafa" t = v.count("fa",1) print(t) """ 2 """
5. encode() 方法以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
v = "你好" t = v.encode('ANSI') print(t) """ b'\xc4\xe3\xba\xc3' """
6.以指定的后缀结束,则返回True,否则返回False。
def endswith(self, suffix, start=None, end=None)
v = "abcd" t = v.endswith("cd") print(t) """ True """
7.其中所有制表符都使用空格扩展。如果未提供制表符,则假定制表符大小为8个字符。(文字不足8位时到制表符,制表符自动用空格补齐8位)
def expandtabs(self, tabsize=8)
v = "name\tage\tID\nzhang\t15\t123\nzhang\t15\t123\n" t = v.expandtabs() print(t) """ name age ID zhang 15 123 zhang 15 123 """
8.查找字符串对应位置(从左到右数第一次位置,从0计算)
def find(self, sub, start=None, end=None)
v = "fa11fa11fa11" t = v.find("fa",5) print(t) """ 8 """
9.替换{} 大括号内的内容 1.通过key来填充2.通过位置来填充字符串 (也可以不填写数字,默认前后顺序) 3.通过下标填充4.通过字典的key5.通过对象的属性6.使用魔法参数 (暂时没有学习)
def format(self, *args, **kwargs)
v = "Hello,I am {name},I am {age} years old" t = v.format(name = "zhang",age = "16") print(t) v_1 = "Hello,I am {1},I am {0} years old " t_1 = v_1.format("jia","16",) print(t_1) """ Hello,I am zhang,I am 16 years old Hello,I am 16,I am jia years old """
明天继续整理