python 字符串的操作方法
一、字符串的定义
- 变量 = " "
- 变量 = ’ ’
- 变量 =’’’ ‘’’
# 空字符
name = ""
# 空白字符
sex = " "
age = '12'
addres = '''深圳'''
二、字符串的操作方法
1. find 方法
# 查找字符串片段在字符串中的下标位置(默认是从前往后找查询字符串中第一个字符的下标)
a = 'hello python'
# 传一个参数是从前往后找
print(a.find('h')) # 0
# 传两个参数:第一个是要找的字符,第二个是查找的开始位置
print(a.find('o',5)) # 10
2. count 方法
count 统计字段在字符串中出现的次数,统计的可以是一个字符也可以是字符串片段
a = 'hello python add add'
print(a.count("l")) # 2
print(a.count("e")) # 1
print(a.count('add')) # 2
3. replace 方法
replace 替换字符串
a = 'hello python hello java'
# 第一个参数是要替换的字符串 第二个是替换之后的字符串
print(a.replace("hello","1212")) # 1212 python 1212 java
# 第一个参数是要替换的字符串 第二个是替换之后的字符串 第三是替换的几个
print(a.replace("hello","hi",1)) # hi python hello java
4. split 方法
split 字符串分割
a = 'hello,python,hello,java'
# 第一个参数是分割点(默认找到所有分割点进行分割)
print(a.split(",")) # ['hello', 'python', 'hello', 'java']
# 第一个参数是分割点 第二个参数是分割的次数
print(a.split(",",2)) # ['hello', 'python', 'hello,java']
5. upper 方法
upper 将字母大写
a = 'hello python hello java'
b = a.upper();
print(b) # HELLO PYTHON HELLO JAVA
6. lower 方法
lower 将字母小写
a = 'ONE'
b = a.lower();
print(b) # one
7. format 方法
format 字符串格式化输出 {}里面也可以放下标
7.1 format 格式化输出
str1 = "你好,我叫{},来自{}"
print(str1.format("小明","湖北")) # 你好,我叫小明,来自湖北
# format 字符串格式化输出
str1 = "你好,我叫{0},来自{1}"
print(str1.format("小明","湖北")) # 你好,我叫小明,来自湖北
7.2 format 格式化浮点数
format 字符串格式化输出保存小数点后2位数
num = float(input("请输入工资:"))
#{:.2f} 整数后面保留两位小位数
print("我今天发了{:.2f}".format(num)) # 我今天发了12.43
7.3 format 格式化百分比
format 字符串格式化安%的形式输出
#{:.1} 百分比后面的小位数只有一位
print("百分百{:.1%}".format(2)) # 百分百200.0%
7.4 format 格式化字符串的长度
print("{:<6}1111111".format("mini")) #mini 1111111
print("{:>6}1111111".format("mini")) # mini1111111
print("{:^6}1111111".format("mini")) # mini 1111111
print("{:a<6}1111111".format("mini")) #miniaa1111111
print("{:b>6}1111111".format("mini")) #bbmini1111111
8.F 格式化表达式
name ="小红"
str1 = F"我的名字是{name}"
print(str1) # 我的名字是小红
9. 字符串转换为bool和数值类型:
#空字符
name=""
#空白字符
sex=" "
age="12"
#python 中任何数据类型都可以装换为bool值
#数据中有内容,装换为bool为True
#数据中没有内容,装换为bool为False
print(bool(name)) # False
print(bool(sex)) # True
#字符串转换为数字
print("装换前的数据类型:",type(age)) # 装换前的数据类型: <class 'str'>
ages = int(age)
print("转换后的数据类型:",type(ages)) # 转换后的数据类型: <class 'int'>
10. 字符串下标索引取值:
#下标索引取值(字符串的下标是从0开始,从前往后),(从后往前从-1开始)
str1 = "hello world"
str2 = str1[0]
print(str2) # h
11. 字符串的切片操作:
#字符串的切片操作[开始位置:结束位置前一个] 从开始位置截取,到结束位置的前一个
str1 = "hello world"
str3 = str1[0:4]
print(str3) # hell
#开始位置不写,默认从头开始
#结束位置不写,默认到结束
str4 = str1[7:]
print(str4) # orld
#[开始位置:结束位置:步长] (步长就多少,就多少取一个)
str5 = str1[::3]
print(str5) # hlwl
12. 字符串拼接:
#字符串拼接
paragraph = "欢迎"
paragraph1 ="光临"
#第一种 :+
str6 = paragraph+paragraph1
print(str6) # 欢迎光临
#第二种 :join方法(join 方法 . 前面的字符串 会拼接到(())里面2个字符串之间)
str7 = '+++++++'.join((paragraph,paragraph1,"欢迎","下次再来"))
print(str7) # 欢迎+++++++光临+++++++欢迎+++++++下次再来
13. 字符串转义:
#字符串转义
'''
\n :换行符
\t :制表符
r :关闭转义
'''
print('11111\n22222\n33333')
"""
结果:
11111
22222
33333
"""
print('11111\t22222\t33333') # 11111 22222 33333
str8 = r'1212\t33333'
print(str8) # 1212\t33333