【Python】Python基础知识(三):字符串

上篇:Python基础知识(二):if语句,while循环,for循环


目录

字符串

格式化输出

切片

字符串常用操作方法

查找相关

find()

index()

count()

修改相关

replace()

split()

join()

转换大小写

删除空白字符

字符串对齐

判断相关

判断开头或结尾

isalpha()

isdigit()

isalnum()

isspace()


字符串

字符串可以用单引号,双引号,三引号来表示

str1 = 'aaa'
str2 = "bbb"
str3 = '''ccc'''
str4 = """ddd"""

在字符串中回车换行时,执行效果不同

str5 = 'aa' \
       'a'
str6 = "bb" \
       "b"
str7 = """cc
c"""

print(str5)
print(str6)
print(str7)

效果

如果字符串中存在单引号,我们该怎么做呢

可以使用双引号或三引号

str1 = "I'm Wang"
str2 = """I'm Wang"""

或,使用单引号再使用转义字符

str1 = 'I\'m Wang'

格式化输出

name = "Wang"
print("我是%s" % name)
print(f"我是{name}")

 

切片

是指对操作的对象截取其中一部分的操作。字符串,列表,元组都支持切片操作

语法

序列[开始位置下标:结束位置下标:步长]

注意:

不包含结束位置下标对应的数据,正负整数均可;

步长是选取间隔,正负整数均可,默认步长为1.

str1 = "0123456789"
print(str1[2:5:1])      # 234           步长为1,相当于每次选取+1
print(str1[2:5])        # 234           默认步长为1
print(str1[2:5:2])      # 24            步长为2
print(str1[2:8:2])      # 246           不包含结束下标的数据,谨记
print(str1[2:])         # 23456789      不写结束下标,选取到最后
print(str1[:])          # 0123456789    不写开始和结束下标,选取所有

print(str1[::-1])       # 9876543210    如果步长为负数,表示倒序
print(str1[-4:-1])      # 678           下标-1表示最后一个数据
print(str1[-4:-1:-1])   # (输出为空)     -4到-1方向为从左到右,而步长-1方向为从右到左,方向冲突,无法选取数据
print(str1[-1:-4:-1])   # 987           方向一致

 

字符串常用操作方法

 

查找相关

find()

检测某个子串是否包含在这个字符串中,如果存在返回这个子串开始的位置下标,否则则返回-1

语法

字符串序列.find(子串,开始位置下标,结束位置下标)

index()

检测某个子串是否包含在这个字符串中,如果存在返回这个子串开始的位置下标,否则则报异常

语法

字符串序列.index(子串,开始位置下标,结束位置下标)

count()

返回某个子串在字符串中出现的次数

语法

字符串序列.index(子串,开始位置下标,结束位置下标)

str1 = "01234567890123456789"

#find
print(str1.find("345"))             # 3
print(str1.find("345", 10, 18))     # 13
print(str1.find("111"))             # -1

# index
print(str1.index("345"))             # 3
print(str1.index("345", 10, 18))     # 13
print(str1.index("111"))             # 报错

# count
print(str1.count("345"))             # 2
print(str1.count("345", 10, 18))     # 1
print(str1.count("111"))             # 0

rfind():和find()功能相同,但查找方向为右侧开始

rindex():和index()功能相同,但查找方向为右侧开始

 

修改相关

replace()

替换

语法

字符串序列.replace(子串,新串,替换次数)

str1 = "Hello World,Hello Python"
str2 = str1.replace("H", "h")       # 全部替换
print(str2)                         # hello World,hello Python
str3 = str1.replace("H", "h", 1)    # 替换1次
print(str3)                         # hello World,Hello Python

split()

分割

语法

字符串序列.split(分割字符,num)

str1 = "Hello World,Hello Python,Hello Split"
list1 = str1.split(",")     # 全部分割
print(list1)                # ['Hello World', 'Hello Python', 'Hello Split']
list2 = str1.split(",", 1)  # 分割1次
print(list2)                # ['Hello World', 'Hello Python,Hello Split']

join()

连接,合并

语法

连接符.join(序列)

list1 = ["aa", "bb", "cc"]
str1 = "--".join(list1)     # 用--连接list1的各个元素
print(str1)                 # aa--bb--cc

转换大小写

str1 = "hello world,Hello python"
# capitalize 字符串首字母大小,其它转为小写
print(str1.capitalize())        # Hello world,hello python
# title 每个单词首字母转为大小
print(str1.title())             # Hello World,Hello Python
# upper 都转为大小
print(str1.upper())             # HELLO WORLD,HELLO PYTHON
# lower 都转为小写
print(str1.lower())             # hello world,hello python

删除空白字符

str1 = "    hello world     "
print(str1.lstrip())    # 删除左侧空白字符
print(str1.rstrip())    # 删除右侧空白字符
print(str1.strip())     # 删除两侧空白字符

效果

字符串对齐

str1 = "hello"
print(str1.ljust(10))           # 左对齐
print(str1.ljust(10, '_'))      # 左对齐,不足10位填充下划线
print(str1.rjust(10))           # 右对齐
print(str1.rjust(10, '_'))      # 右对齐,不足10位填充下划线
print(str1.center(10, '_'))     # 居中

效果

判断相关

判断开头或结尾

str1 = "hello world,hello python"
print(str1.startswith("hello"))         # True
print(str1.startswith("ello"))          # False
print(str1.startswith("ello", 1))       # True
print(str1.startswith("ello", 1 ,5))    # True  1和5代表开始位置下标和结束位置下标

print(str1.endswith("python"))          # True

isalpha()

如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False

str1 = "hello world"
print(str1.isalpha())         # False
str2 = "hello"
print(str2.isalpha())         # True
str3 = ""
print(str3.isalpha())         # False

isdigit()

如果字符串只包含数字则返回True,否则返回False

str1 = "hello123"
print(str1.isdigit())         # False
str2 = "123456"
print(str2.isdigit())         # True

isalnum()

如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False

str1 = "hello123"
print(str1.isalnum())         # True
str2 = "123456"
print(str2.isalnum())         # True
str3 = "123**"
print(str3.isalnum())         # False

isspace()

如果字符串中只包含空白则返回True,否则返回False

str1 = "hello123"
print(str1.isspace())         # False
str2 = " 1 2 3 4 5 6 "
print(str2.isspace())         # False
str3 = ""
print(str3.isspace())         # False
str4 = "  "
print(str4.isspace())         # True

 


下篇:Python基础知识(四):列表,元组

 

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页