【Python】5_字符串与相关方法

简介: ​一、字符串1、定义# 单引号name = "isaac"print(type(name),name)# 双引号name = "isaac"print(type(name),name)# 三引号my_str = """hello world hello python!"""print(type(my_str),my_str) # <class 'str'> hello world # hello python!my_str = '''aaa b


一、字符串
1、定义

单引号

name = "isaac"
print(type(name),name)

双引号

name = "isaac"
print(type(name),name)

三引号

my_str = """hello world

          hello python!

"""
print(type(my_str),my_str) # hello world

                        #               hello python!

my_str = '''aaa
bbb'''
print(type(my_str),my_str)

如果字符串本身包含单引号,使用双引号定义,

如果包含双引号可以使用单引号定义,或者统一使用三引号

my name is 'isaac'

my_name = "my name is 'isaac'"
print(my_name) # my name is 'isaac'

在Python中单引号和双引号的作用相同

 2、下标
支持正反下标

下标也称为是索引,是一个整型数字,可以是正数,也可以是负数

正数下标是从0开始的,表示第一个字符,

-1表示最后一个字符,倒着往前走,从后往前分别是:-1,-2,-3,-4,-5

my_str = "hello"

下标的使用语法: 变量[下标]

print(my_str[0]) # h
print(my_str[1]) # e

print(my_str[-1]) # 0
print(my_str[-3]) # l

len() 函数可以得到字符串的长度

print(len(my_str))

使用正数下标书写字符串中的最后一个元素

print(my_str[len(my_str)-1])

 3、切片

切片可以获取一段数据,多个数据,下标(索引只能获得一个数据)

切片语法:变量[start:end:step],会得到一个新的字符串

start 开始位置的下标

end 结束位置的下标,不包含end 对应的下标

step 步长,下标之间的间隔,默认为1、

my_str = "hello"
my_str1 = my_str[2:4:1] # ll 只会打出第二和三位置的字
print(my_str1)

step 如果是1,即默认值,可以不写

my_str2 = my_str[2:4]
print(my_str2) # ll

end a位置不写。表示len(),即可以取到最后一个元素

my_str3 = my_str[2:]
print(my_str3) # llo 因为len的长度大于索引的最大值(最后一个元素索引)

start 位置也可以不写,表示是0

my_str4 = my_str[:3]

start 和 end 都不写,但是冒号需要写

my_str5 = my_str[:]
print(my_str5) # hello

print(my_str[-4:-1]) # ell
print(my_str[3:1],"1") # 没有数据

步长可以是负数

print(my_str[3:1:-1],"2") # ll 2

print(my_str[::-1],) # 逆序打印 olleh

print(my_str[::-2]) # 0 2 4 hel my_str[0:5:2]

 4、字符串查找的相关方法

my_str = "hello world itcast and itcastcop"

'''
find() 在字符串中查找是否存在某个字符串
my_str.find(sub_str, start, end)
sub_str: 要在字符串中查找的内容,,类型str
start:开始的位置,从哪开始找,默认是0
end :结束的位置,默认是len()
返回值:即方法执行的结果是什么,如果找到sub_str,返回sub_str,在my_str中的位置的正数下标
如果找不到的话,就返回-1
'''

index = my_str.find("hello") # 0
print(index)

从瞎比哦啊为3的位置开始查找字符串hello

print(my_str.find("hello", 3)) # -1 说明没找到
print(my_str.find("itcast", )) # 12 说明没找到
print(my_str.find("itcast", 15)) # 23 说明没找到

rfind() right find() 从右边(后边)开始查找

print(my_str.rfind("itcast")) # 23

'''
index() 在字符串中查找是否存在某个字符串
my_str.index(sub_str, start, end)
sub_str: 要在字符串中查找的内容,,类型str
start:开始的位置,从哪开始找,默认是0
end :结束的位置,默认是len()
返回值:即方法执行的结果是什么,如果找到sub_str,返回sub_str,在my_str中的位置的正数下标
如果找不到的话,就报错(这里就是index和find之间最大的差距)
'''

print(my_str.index("hello")) # 0

print(my_str.index("hello",3)) # 没有找到的话,代码会报错

rindex() 从后边往前面找

print(my_str.rindex("itcast")) # 23
print(my_str.index("itcast")) # 12

count(sub_str,start,end) 统计出现的次数

print(my_str.count("aaaa")) # 0
print(my_str.count("hello")) # 1
print(my_str.count("itcast")) # 2
print(my_str.count("itcast", 20)) # 1

print("" 30)
print("hello " * 3) # hello hello hello

5、替换
"""
my_str.replace(old_str, new_str, count)
字符串的替换,将my_str中的old_str 替换成new_str
old_str: 将要被替换的字符串
new_str:新的字符串,替换成的字符串
count :替换的次数,默认是全部替换
返回值:得到的是一个新的字符串,不会改变原来的字符串
"""
my_str = "hello world itcast and itcastcpp"

my_str1 = my_str.replace("itcast","ithima")
print(my_str1) # hello world ithima and ithimacpp
print("my_str:", my_str ) # my_str: hello world itcast and itcastcpp

my_str2 = my_str.replace("itcast","ithima",1)
print(my_str2) # hello world ithima and itcastcpp

6、分割
'''
my_str.split(sub_str, count)
字符串的替换,将my_str 字符串按照sub_str进行切割
sub_str: 按照什么内容切割字符串,默认是空白字符,空格及tab键
count: 切割几次,默认是全部切割
返回值: 列表
相当于是把字符串切成了列表
'''
my_str = "hello world itcast and itcastcpp"

result = my_str.split() # 按照空白字符,全部切割
print(result) # ['hello', 'world', 'itcast', 'and', 'itcastcpp']

print(my_str.split("2",1)) # ['hello world itcast and itcastcpp']

这个由于未找到,所以返回的是一个完整的列表

print(my_str.split("itcast")) # ['hello world ', ' and ', 'cpp']
print(my_str.split("itcast",1)) # ['hello world ', ' and itcastcpp']
print(my_str.rsplit("itcast",1)) # ['hello world itcast and ', 'cpp']

也有rsplit

 7、join字符串的连接
'''
my_str.join(可迭代对象)
可迭代对象,str类型和列表(需要列表中的每一个数据都是字符串类型的)
将my_str 这个字符串添加到可迭代对象的两个元素之间
返回值:一个新的字符串,不会改变原字符串的值
与split方法相反,这个是把列表改成了字符串
'''
my_str = "_".join("hello")
print(my_str) # h_e_l_l_o
print("_".join("hello")) # h_e_l_l_*_o

定义列表

my_list = ["hello", "cpp", "python"]

print("_".join(my_list)) # hello_cpp_python
print("_".join(my_list)) # hello_cpp_*_python
print(" ".join(my_list)) # hello cpp python

相关文章
|
11天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
26天前
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
32 10
|
27天前
|
人工智能 自然语言处理 算法
随机的暴力美学蒙特卡洛方法 | python小知识
蒙特卡洛方法是一种基于随机采样的计算算法,广泛应用于物理学、金融、工程等领域。它通过重复随机采样来解决复杂问题,尤其适用于难以用解析方法求解的情况。该方法起源于二战期间的曼哈顿计划,由斯坦尼斯拉夫·乌拉姆等人提出。核心思想是通过大量随机样本来近似真实结果,如估算π值的经典示例。蒙特卡洛树搜索(MCTS)是其高级应用,常用于游戏AI和决策优化。Python中可通过简单代码实现蒙特卡洛方法,展示其在文本生成等领域的潜力。随着计算能力提升,蒙特卡洛方法的应用范围不断扩大,成为处理不确定性和复杂系统的重要工具。
69 21
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
2月前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
62 5
|
2月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
72 7
|
2月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
407 5
|
3月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
149 64
|
3月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
162 3

热门文章

最新文章

推荐镜像

更多