Python字符串String

1、string

str1="abc"         str2="123"

1.1、字符串的拼接

str3 = str1+str2       # str3="abc123"

注:print(str * n) 可将字符串str重复输出n次

1.2、通过下标获取字符串的某个元素

str1[1]      #  b

注:1、下标从0开始叠加,下标不能超过字符的长度-1,否则报错。。。

        2、下标可以为负数,为正表示从左向右数,为负即从右向左数

        3、通过len(str)可以获取字符串的长度

1.3、利用下标截取字符串

格式:str[[起始下标start]:[结束下标stop][:][递增基数step]]

strat:为起始下标,即截取的开头,可省略,默认为0

stop:结束下标,即截取的结束(不包含),可省略,默认为长度

step:即截取的步长,可省略,默认为1

扫描二维码关注公众号,回复: 2579624 查看本文章

注:1、str为不可变数据类型,所以截取字符串的字符串会生成一个新的字符串,对原字符串没有影响

        2、步长可以为负数,步长为负数表示从右向左截取,否则默认从左向右截取

        3、start与stop也可为负数,若步长为正,则start必须小于stop才能成功截取

1.4、可使用in 和not in 判断字符串中是否拥有某元素

如:str1 = “abc”

print(a in str1)     # True

print(d in str1)     # False

1.5、格式化字符串

格式化字符串语法格式:

字符串(字符串中包含格式化字符)%(格式化字符对应的数据)

%s :可以作为字符串、整型、浮点型的占位符

%d :可以作为整型、浮点型的占位符,如果作为浮点型占位符,默认保留整数部分

%f :可以作为整型、浮点型的占位符,默认保留六位小数,%f可以写成%。nf格式,n代表保留的小数位数

例如:

            name = "lily"         age = 12           weight = 54.3

            print("姓名是:%s, 年龄是:%d, 体重是:%.1f"%(name, age, weight))

1.6、转义字符“\”

转义字符"\"可以将有意义额度字符转化为无意义的字符, 如:print("\\")   # \  输出一个\,第一个\表示转义字符,将第二个\转化成无意义的斜线输出

使用r/R可直接使用原始字符,不转义,如:print(r"\\\\\\")    # \\\\\\

2、string内嵌函数

2.1、eval(str),将str中的有效表达式进行计算并输出

eval("123")  # 123      eval("-123")  # -123         eval("1+2")  # 3       eval("abc")   # 报错

2.2、字符串的大小写转换

str0.lower() 将所有字母小写          str0.upper()将所有字母大写

str0.swapcase()将原字符中的小写字母转大写,大写字母转小写  

str0.capitalize() 每个句子首字母大写,其他全小写

str0.title()每个单词的首字母大写,其它全小写

2.3、使字符串返回指定长度及指定其前后符号

1、str.center(width[,fillchar]) 返回指定长度width的字符串,str在中间, 其他位置用fillchar补全,默认fillchar为空格

2、str.ljust(width[,fillchar]) 返回指定长度width的字符串,str在左边, 其他位置用fillchar补全,默认fillchar为空格

3、str.rjust(width[,fillchar]) 返回指定长度width的字符串,str在右边, 其他位置用fillchar补全,默认fillchar为空格

4、str.zfill(width) 返回指定长度width的字符串,str在右边, 其他位置用0补全

2.4、查询原字符串中是否包含某一字符串

1、str.find(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,返回-1    从左向右查找

2、str.rfind(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,返回-1    从右向左查找

3、str.index(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,报错    从左向右查找

4、str.rindex(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,报错    从右向左查找

2.5、检查字符串中某字符出现的次数

str1.count(str2)    返回str2在str1中出现的次数

2.6、切割字符串与连接字符串

1、切割字符串

str0.split(str1 [, count])   以str1为标识符切割str0,并将切割好的字符串以列表的形式返回,

                                      count表示切割次数,省略表示一直切割下去

str.splitlines([boolean])   按照行切割字符串 (\n \r \n\r),一行为单位切割字符串,boolean:如果值为True,有换行符;如果值为                                                 False,无换行符;默认为False

2、连接字符串

str2.join(list0)   将列表中的所有字符串用str2链接起来

2.7、字符串与ASCii

1、ord(str) 将字符转ASCII

2、chr(ascii) 将ASCII转字符

max(str0) 可通过比较str0中个元素的ascii值,输出ascii最大的字符

min(str0) 可通过比较str0中个元素的ascii值,输出ascii最小的字符

2.8、截掉字符串中指定位置的元素

1、string.lstrip(str) 截掉字符串string左边位置指定字符的str元素,str默认为空格

2、string.rstrip(str) 截掉字符串string右边位置指定字符的str元素,str默认为空格

3、string.strip(str) 截掉字符串string两边位置指定字符的str元素,str默认为空格

2.9、替换字符串

1、str.replace(old, new[, count])   将str中的old子串替换为new子串,默认全部替换,如果指定count,则替换count个

2、 创建映射表

      创建映射表方式一 :str.maketrans("noi", "abc")

          第一个参数代表原本的字符,第二个为替换的字符

          注:两个参数的字符个数要求一致

       创建映射表方式二:str.maketrans("n": "a", "o": "b")

          只写一个参数:参数类型为字典类型 {key: value}

          key:为原始字符 value:为替换的字符

2.10、用于判断的函数

1、str0.isalpha()  判断字符串中至少有一个字符,并且所有字符都是字母

2、str0.isalnum() 判断字符中至少有一个字符,并且所有字符都是数字或字母

3、str0.isdigit() 判断字符串中至少有一个字符,并且所有字符都是数字

4、str0.isspace() 判断字符串中至少有一个字符,并且所有字符都是空格

5、str0.isupper()判断字符串中至少有一个是区分大小写的字符,并且所有区分大小写的字符都是大写

6、str0.islower()判断字符串中至少有一个是区分大小写的字符,并且所有区分大小写的字符都是小写

7、str0.istitle()判断字符串中至少有一个是区分大小写的字符,并且所有字符都是标题化字符,单词的首字母大写

8、str0.startswith("str[,start,end]")判断string是否以str开头,返回True或False,如果指定start与end,在该范围内判断

9、str0.endswith("str[,start,end]")判断string是否以str结尾,返回True或False,如果指定start与end,在该范围内判断

猜你喜欢

转载自blog.csdn.net/pyrans/article/details/81416000