字符串源码里的方法浅释python3.5.1

Str字符串的方法:

  1. 1.       首先创造一个字符串有两种方法

S=”123” or s=name

S1=str(123)

2.首字母变大写的方法capitalize()

>>> s="alex"

>>> s1=s.capitalize()

>>> print(s1)

Alex

3.字符串的casefold()方法—>恢复字符串创建时的原始值

可以通过以下代码敲出来可以看到

#首先创建一个字符串s,让它的首字符变为大写,然后执行casefold()方法,让它变为 原来的样子

>>> s="alex"

>>> s1=s.capitalize()

>>> print(s1)

Alex

>>> s2=s1.casefold()

>>> print(s2)

alex

#让s的全部字母大写赋值给s2,然后s2采用casefold()方法恢复原来的值再赋值给s3

>>> s2=s.upper()

>>> print(s2)

ALEX

>>> s3=s2.casefold()

>>> print(s3)

alex

4.字符串的center()方法:

s.center(width,[,fillchar]) ->str,可以通过用以下演示来理解

#首先创建一个字符串alex,然后采用center()方法,第一个参数width是指定执行完这个方法后的总的一个值的长度,下面长度是20,然后可以看到原来的s的长度为len(s)=4,那么还有16位的长度就由第二个参数”*”来填充,alex占中间的4个位

>>> s="alex"

>>> len(s)

4

>>> print(s.center(20,"*"))

********alex********

5.字符串的count()方法

>>> s="alexalexalex"

#计算字母a在字符串s中出现的次数,第二个参数0是指从s的第一个索引位置开始查找,第三个参数10是指到字符串s的第十个索引指向的位置为止

>>> s.count("a",0,10)

3#结果是a在s中出现了3次

>>> s.count("l",4)#可以看到第三个参数如果没指定就是默认到s的最后一个字母为结束位置

2#结果是2次

>>> s.count("a")#可以看到第二个和第三个参数如果没指定,就是默认整个s内寻找

3#结果是3次

5.字符串的编码encode()和解码decode()方法:

# -*- coding:utf-8-*-

a=”李璐”#创建一个字符串,指定的格式是utf-8

a_unicode=a.decode(“utf-8”)#先把a解码成unicode格式

a_gbk=a_unicode.encode(“gbk”)#再把a_unicode编码成gbk形式

6.字符串格式化方法和format()方法

#1.通过format方法按顺序传递参数实现类似格式化的效果

>>> s="name:{0},age:{1}"

>>> print(s.format("alex","18"))

name:alex,age:18

#2.直接通过%来格式化,%s可以替代一切类型包括字符串、整型等,而%d,%f分别指整型和浮点型数值

>>> s="name:%s,age:%s"%("alex",18)

>>> print(s)

name:alex,age:18

7.index()查找索引方法

S.index(sub[, start[, end]]) -> int  #在字符串S中查找字母sub, start和end参数分别指定开始和结束的位置,第二和第三个参数可以不指定,就默认从头到尾寻找,如下:

>>> s="alex"

>>> s.index("a")

0

>>> s.index("l",0,3)

1

8.字符串中的带is的方法,如:

S.isalnum() -> bool  #判断字符串是否只包含字母和数字,如果是就返回布尔值True,否则就是False

S.isalpha() -> bool   #判断字符串是否只包含字母,如果是就返回布尔值True,否则就是False

S.isdigit() -> bool    #判断字符串是否Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字,如果是就返回布尔值True,否则就是False

S.isdecimal() -> bool  #判断字符串是否只包含十进制的字符串,如果是就返回布尔值True,否则就是False

S.isspace() -> bool  #判断字符串是否只包含空格,如果是就返回布尔值True,否则就是False

S.istitle() -> bool  #判断一个字符串的每个词的首个字母是否大写,如果是就返回True,否则返回False,

s.title() 方法就是把字符串变为标题,如下

>>> s="the one"

>>> s.istitle()

False

>>> s1=s.title()

>>> s1.istitle()

True

9.字符串的join()方法:S.join(iterable) -> str #里面的参数必须是可迭代的,如下操作

>>> cha="." #创建一个分隔符句号”.”

>>> s1=("alex","name")  #创建一个元组,元组是可迭代的

>>> s2=["alex","name"]  #创建一个列表,列表是可迭代的

>>> s3={"k1":"alex","k2":"name"}  #创建一个字典,字典是可迭代的

>>> cha_s1=cha.join(s1)

>>> print(cha_s1)

alex.name  #可看到最后结果是用句号把元组里的两个元素结合成一个字符串

>>> cha_s2=cha.join(s2)

>>> print(cha_s2)

alex.name

>>> cha_s3=cha.join(s3)

>>> print(cha_s3)

k2.k1

>>> s4=s3.values()

>>> print(s4)

dict_values(['name', 'alex'])

>>> cha_s4=cha.join(s4)

>>> print(cha_s4)

name.alex

10.ljust()和rjust()左对齐和右对齐方法:

>>> s="alex"

>>> s.ljust(10,"*")

'alex******'

>>> s.rjust(10,"*")

'******alex'

11. S.partition(sep) -> (head, sep, tail)

>>> s="alleall"

>>> s.partition("e")

('all', 'e', 'all')

12. S.replace(old, new[, count]) -> str

>>> s.replace("a","b")#把a替换成b,没有指定次数,就是默认全部a替换成b

'bllebll'

>>> s.replace("a","b",2)

'bllebll'

>>> s.replace("a","b",3)

'bllebll'

13. S.split(sep=None, maxsplit=-1) -> list of strings

>>> s=("name:age:class:school")

>>> s.split(":")

['name', 'age', 'class', 'school'] #以冒号作分隔符,并把结果返回成一个列表

14. startswith(...)和endswith() #分别判断一个字符串是否以给定的参数字母开始和结尾,是就返回True,否则返回False

>>> s="alex"

>>> s.startswith("a")

True

>>> s.endswith("x")

True

15. find()方法  #从字符串s中查找字母a和e,并返回它们的位置

>>> s="alex"

>>> s.find("a")

0

>>> s.find("e")

2

>>> s.find("a",0,3)

0

 

16.lstrip()、rstrip()、strip()方法

分别是去除字符串左边,右边,和左右两边的空格

>>> s="  alex  "

>>> s.lstrip()

'alex  '

>>> s.rstrip()

'  alex'

>>> s.strip()

'alex'

原文地址:https://www.cnblogs.com/wspcoding/p/5507038.html