python 字符串

什么是字符串

• 字符串定义:字符串是以 单引号' 或双引号" 引起来的任意文本字, ⽐ 如:'abc' 、”xyz”

• 注:字符串是不可变的。

 

字符串运算

1、字符串拼接:将两个字符串拼接到⼀起

  符号:+

str6 = "hello"
str7 = "是你好"
str8 = str6 + str7
print(str8) 

 

2、重复输出字符串

  符号:*

str6 = "hello"
print(str6 * 3) 

 

3、通过索引获取字符串中某个字符

  语法格式: 字符串[索引] :可以访问及获取字符串中的⼀个字符

  注:索引:从0开始,索引是不能越界的,越界会报错。

str10 = “abcdefg"
print(str10[0])
print(str10[2]) 

4、字符串截取

  语法格式: 字符串[[起始下标]:[结束下标]:[递增基数]] 

# 从起始下标截取到字符串末尾
str13 = str12[1:]
print(str13)
# 从头开始截取,截取到结束下标之前
str14 = str12[:7]
print(str14)
# 从开始下标截取,截取到结束下标之前
str15 = str12[2:9]
print(str15)
# 截取所有字符
str16 = str12[:]
print(str16)
# 递增基数
str17 = str12[0:9:3]
print(str17) 

5、判断字符串中是否含有某个⼦字符串

print("abc" in "abcdefgh") # T
print("qq" in "abcdefgh") # F 

 6、判断字符串中是否不含有某个⼦字符串

print("abc" not in "abcdefg") # T
print("qq" not in "abcdefg") # T

格式化输出

• 语法格式: 字符串(字符串⾥⾯有格式化字符) % (对应的数据)

• 格式化符号:

  • %s : 格式化字符串

  • %d : 格式化整数

  • %f : 格式化浮点数 如果想要设置精度: %.2f 保留两位⼩数

name = "Lily"
age = 18
weight = 50.2
# 当只有⼀个格式化符号时,可以省略⼩括号
print("姓名是%s" % name)
# 当有多个格式化符号时,⼩括号不能省,元素⽤逗号隔开
print("姓名是%s,年龄是%d,体重是%.2fkg。" % (name, age, weight)) 

转义字符

• 转义符号:\(将原本没有实际意义的字符转换为有实际意义的字符,将原本有实际意义的字符转为没有意义的字符)

• 注:反斜线本身有实际意义

• 常⽤转义字符:

  • \n --> 换⾏

  • \' --> ‘

  • \" --> “

  • \\ --> \

  • \r --> 回⻋

  • \b --> 退格

  • \t --> 横向制表

  • 保留原始字符,不转义

  • r / R 原始字符串:将所有转义字符直接输出,展示没有意义的普通字符。

内建函数

• 1、eval(str): 将str当成有效的表达式来计算,将计算的结果返回

print(eval("123")) # 123 print(eval("+123")) # 123

print(eval("-123")) # -123 print(eval("1 + 2")) # 1 + 2 --> 3

print(eval("12 - 3")) # 12 - 3 --> 9

# print(eval("abc124")) # 失败

2、len(str) 返回字符串的⻓度

 

3、字⺟⼤⼩写转换,不影响原始字符串

  • string.lower() 将字符串中的字⺟全部⼩写

  • string.upper() 将字符串中的字⺟全部⼤写

  • string.swapcase() 将字符串中的⼤写字⺟转为⼩写,⼩写字⺟转为⼤写

  • string.capitalize() 字符串中的第⼀个字⺟⼤写,其他⼩写

  • string.title() 将字符串中的每隔单词的⾸字⺟⼤写,其他字⺟⼩写

 

4、返回⼀个指定⻓度的字符串,不影响原始字符串

  • string.center(width [,fillchar]) 返回⼀个指定⻓度width的字符串,str这个字符串在中间,其他位置 ⽤fillchar补全,默认是空格。

  • string.ljust(width [,fillchar]) 返回⼀个指定⻓度width的字符串,str这个字符串在左边,其他位置⽤ fillchar补全,默认是空格。

  • string.rjust(width [,fillchar]) 返回⼀个指定⻓度width的字符串,str这个字符串在右边,其他位置⽤ fillchar补全,默认是空格。

  • string.zfill(width) 返回⼀个指定⻓度width的字符串,str这个字符串在右边,其他位置⽤0补全。

 

5、string.count(str [,begin, end]) :返回string⾥⾯str出现的次数,如果begin 与end有值,查找该范围内的次数

 

• 6、检测字符串中有没有另⼀个字符串

  • string.find(str [,begin, end]) 检测string中有没有str,如果存在返回第⼀次出现的下标,如果 begin与end有值,查找该范围当找不到时,返回-1。从左向右查找

  • string.rfind(str [,begin, end]) 检测string中有没有str,如果存在返回第⼀次出现的下标,如 果begin与end有值,查找该范围当找不到时,返回-1。从右向左查找

  • string.index(str [,begin, end]) 检测string中有没有str,如果存在返回第⼀次出现的下标,如 果begin与end有值,查找该范围当找不到时,返回Error,程序报错。从左向右查找

  • string.rindex(str [,begin, end]) 检测string中有没有str,如果存在返回第⼀次出现的下标,如 果begin与end有值,查找该范围当找不到时,返回Error,程序报错。从右向左查找

 

7、截掉字符串指定位置的元素,不影响原始字符串,有返回值 返回更改过 后的字符串

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

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

• string.strip([str]) 截掉字符串string左边及右边位置的指定的字符串str元素,默认str为空 格

 

8、将字符转换成ASSIC码

  ord()  将字符转为ASSIC码

  chr() 将ASSIC码转为字符

 

9、切割字符串

  • string.split(str [,num]) 以str切割string这个字符串,返回⼀个列表列表类型的数据,列表 中的元素为切割后的字符串,如果num有值,那么以str切割num次。

  • string.splitlines([boolean]) 按照⾏切割(\n \r \n\r),返回⼀个以⾏为单位的元素列表, boolean如果为False,不保留换⾏符;如果为True,保留换⾏符;默认为False。

 

10、链接字符串

  • string.join(sep) 以指定的string作为连接符,将sep⾥⾯的元素拼接到⼀起

 

11、返回字符中最⼤的字⺟或最⼩的字⺟ • max() 返回字符中最⼤的字⺟ • min() 返回字符中最⼩的字⺟

 

12、替换字符串

  • string.replace(old, new [, num])将string中的old旧字符串替换成new新字符串,如果num 有值,最多替换num次

  • str.maketrans() 创建⼀个字符映射表,如果⾥⾯写两个参数,第⼀个参数为字符串,表 示即将转换的字符;第⼆个参数也要为字符串,

  表示字符转换的⽬标字符;两个字符串 的字符个数⼀定要⼀致。如果只有⼀个参数,参数类型为字典类型,key为即将转换的 字符;value为字符转换的⽬标字符

  • string.translate(t) 根据t给出的映射表,替换string中的字符

 

13、⽤于判断的函数

  • isalpha() 字符串中⾄少有⼀个字符,并且所有字符都是字⺟,返回True,否则返回 False

  • isupper() 字符串中⾄少有⼀个是区分⼤⼩写的字符,并且所有字符都是⼤写,返回 True,否则返回False

  • islower() 字符串中⾄少有⼀个是区分⼤⼩写的字符,并且所有字符都是⼩写,返回 True,否则返回False

  • isspace() 字符串中⾄少有⼀个字符,并且所有字符都是空格,返回True,否则返回 False

  • string.startswith(str [, begin, end]) 判断string是否以str开头,是返回True,否则返回 False , begin, end指定范围查找

  • string.endswith(str [, begin, end]) 判断string是否以str开头,是返回True,否则返回 False , begin, end指定范围查找

 

14、编码解码

  • string.encode(encoding) 以encoding指定的格式进⾏编码

  • string.decode(encoding) 以encoding指定的格式进⾏解码

posted @ 2019-07-16 11:17    阅读(313)  评论(0编辑  收藏  举报