Python基础——字符串

目录

[一、 字符串定义](#一、 字符串定义)

[二、 字符串格式化](#二、 字符串格式化)

[三、 字符串常用操作](#三、 字符串常用操作)

1、访问字符

2、切片操作

3、字符串翻转

4、字符串连接

5、字符串重复打印

6、获取字符串长度

7、字符串替换

8、字符串比较

9、字符串查找

10、字符串分割

11、字符串大小写转换

12、字符串去空格

13、其他


在 Python 中,字符串用来表示文本数据的序列类型。Python 提供了丰富的内置方法和操作符来处理字符串,操作既强大又灵活,下面是常用字符串的详细介绍和处理方法:

一、 字符串定义

在 Python 中,字符串用单引号 ( ' ) 或双引号 ( " ) 来定义,也可以使用三引号( ''' 或 """ )来定义多行字符串。

python 复制代码
# 单引号
str1 = 'Hello, World!'

# 双引号
str2 = "Python Programming"

# 三引号(用于多行字符串)
str3 = '''This is
a multi-line
string.'''

二、 字符串格式化

Python 提供了多种字符串格式化方式,常见的有 % 格式化(%格式化和C语言一致)、str.format() 方法和 f-string(Python 3.6+)。

使用 % 格式化:

python 复制代码
name = "Alice"
age = 30
formatted_str = "My name is %s and I am %d years old." % (name, age)
print(formatted_str)

使用 str.format() :

python 复制代码
name = "Alice"
age = 30
formatted_str = "My name is {} and I am {} years old.".format(name, age)
print(formatted_str)

使用 f-string(推荐,Python 3.6+):

python 复制代码
name = "Alice"
age = 30
formatted_str = f"My name is {name} and I am {age} years old."
print(formatted_str)

三、 字符串常用操作

1、访问字符

在Python中,最基本的数据结构是序列,序列中的每个元素被分配一个序号,即元素的位置,也称为索引,字符串其实就是一个字符元素组成的序列,通过索引来访问其中的字符,Python中的索引从0开始,也支持负索引(从右到左)。

python 复制代码
s = "Hello"
print(s[0])   # 输出 'H'
print(s[-1])  # 输出 'o'
2、切片操作

使用切片来提取字符串的某一部分。

python 复制代码
s = "Hello, World!"
print(s[0:5])   # 输出 'Hello',索引从0到4(不包括5)
print(s[7:])    # 输出 'World!',从索引7开始到结尾
print(s[:5])    # 输出 'Hello',从开头到索引4(不包括5)
print(s[-6:-1]) # 输出 'World',负索引从右往左数
3、字符串翻转

翻转字符串可以通过切片实现。

python 复制代码
s = "Hello"
reversed_s = s[::-1]
print(reversed_s)  # "olleH"
4、字符串连接

字符串可以通过 + 运算符或 join() 方法连接。

使用 + 运算符

python 复制代码
s1 = "Hello"
s2 = "World"
s3 = s1 + ", " + s2  # 拼接字符串
print(s3)            # 输出 "Hello, World"

使用 join() 运算符:

python 复制代码
s = " "
words = ["Hello", "World"]
result = s.join(words)
print(result)  #输出 "Hello World"
5、字符串重复打印

使用 * 运算符来重复打印字符串。

python 复制代码
s = "Hi! "
print(s * 3)  # 输出 'Hi! Hi! Hi! '
6、获取字符串长度

使用 len() 函数来获取字符串的长度。

python 复制代码
s = "Hello, World!"
print(len(s))  # 输出 13
7、字符串替换

字符串替换是指将字符串中的某些子字符串替换成其他子字符串。

方法 :str.replace(old, new[, count])

  • old:要被替换的子字符串。
  • new:替换成的新子字符串。
  • count(可选):替换的次数。
python 复制代码
s = "hello world"
new_s = s.replace("world", "Python")
print(new_s)  # 输出: hello Python
8、字符串比较

在 Python 3 中,字符串比较可以通过直接使用标准的比较运算符来完成。Python 3 移除了 cmp()函数,取而代之的是使用常见的比较运算符,如 <,<=,==,>,>= 和 != 来比较字符串。

字符串比较运算符按照字典顺序(即基于字符的 Unicode 值)来比较字符串:

  • ==: 判断两个字符串是否相等
  • !=:判断两个字符串是否不相等
  • <:判断第一个字符串是否按字典顺序小于第二个字符串
  • <=: 判断第一个字符串是否按字典顺序小于或等于第二个字符串
  • >:判断第一个字符串是否按字典顺序大于第二个字符串
  • >=: 判断第一个字符串是否按字典顺序大于或等于第二个字符串
python 复制代码
str1 = "apple"
str2 = "banana"
str3 = "apple"

# 使用比较运算符进行比较
print(str1 == str2)  # False,"apple" 不等于 "banana"
print(str1 != str2)  # True,"apple" 不等于 "banana"
print(str1 < str2)   # True,"apple" 小于 "banana"
print(str1 > str2)   # False,"apple" 不大于 "banana"
print(str1 <= str3)  # True,"apple" 等于 "apple"
print(str1 >= str3)  # True,"apple" 等于 "apple"
9、字符串查找

字符串查找用于寻找子字符串的位置。如果子字符串存在,返回其起始位置;如果子字符串不存在,返回 -1(find)或抛出异常(index)。

方法:

str.find(sub): 返回子字符串 sub 在字符串中的最低索引,如果未找到返回 -1。
str.index(sub): 与 find 类似,但如果未找到会抛出 ValueError。

python 复制代码
s = "hello world"
position = s.find("world")
print(position)  # 输出: 6

# 使用 index
position2 = s.index("world")
print(position2)  # 输出: 6
10、字符串分割

字符串分割是将字符串根据某个分隔符切割成多个子字符串,并返回一个列表。

方法 :str.split(sep=None, maxsplit=-1)
sep:指定分隔符,默认为 None,表示按空白字符(空格、换行符、制表符等)分割。
maxsplit(可选):最多分割的次数。

python 复制代码
s = "apple,banana,orange"
result = s.split(",")
print(result)  # 输出: ['apple', 'banana', 'orange']

# 限制分割次数
result2 = s.split(",", 1)
print(result2)  # 输出: ['apple', 'banana,orange']
11、字符串大小写转换

方法

  • str.lower():将字符串转换为小写。
  • str.upper():将字符串转换为大写。
  • str.capitalize():将字符串的首字母大写,其他字母小写。
  • str.title():将字符串每个单词的首字母大写。
python 复制代码
s = "hello world"
print(s.lower())       # 输出: hello world
print(s.upper())       # 输出: HELLO WORLD
print(s.capitalize())  # 输出: Hello world
print(s.title())       # 输出: Hello World
12、字符串去空格

字符串去空格是去除字符串开头和/或结尾的空白字符。
方法

  • str.strip():去除字符串两端的空白字符。
  • str.lstrip():去除字符串左侧的空白字符。
  • str.rstrip():去除字符串右侧的空白字符。
python 复制代码
s = "   hello world   "
print(s.strip())   # 输出: hello world
print(s.lstrip())  # 输出: hello world   
print(s.rstrip())  # 输出:    hello world
13、其他
  • str.isalnum() :是否全是字母和数字,并至少有一个字符;
  • str.isalpha() :是否全是字母,并至少有一个字符;
  • str.isdigit() :是否全是数字,并至少有一个字符;
  • str.isspace() :是否全是空白字符,并至少有一个字符;
  • str.count(targer,[min,max)):统计某个字符在字符串中出现的次数;
  • str.startswith(target) :判断字符串是否以某个字符串开始;
  • str.endswith(target) :判断字符串是否以某个字符串结尾 。
相关推荐
NiNg_1_2343 分钟前
Python的sklearn中的RandomForestRegressor使用详解
开发语言·python·sklearn
谢家小布柔6 分钟前
java中的继承
java·开发语言
黑色叉腰丶大魔王7 分钟前
《基于 Python 的网页爬虫详细教程》
开发语言·爬虫·python
GPT01238 分钟前
大模型日报 2024-12-20
程序人生
l1384942745113 分钟前
Java每日一题(2)
java·开发语言·游戏
志-AOX18 分钟前
C语言入门指南:从零开始的编程之路
经验分享
晓纪同学20 分钟前
QT创建一个模板槽和信号刷新UI
开发语言·qt·ui
WANGWUSAN6626 分钟前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
forNoWhat35 分钟前
java小知识点:比较器
java·开发语言
坐井观老天40 分钟前
在C#中使用资源保存图像和文本和其他数据并在运行时加载
开发语言·c#