记录一下python编程学习过程。
时间:2023年12月25日 - 2024年1月7日
有事情耽搁,有点懒
在Python中,字符串是存储文本的数据类型。字符串可以包含字母、数字、符号和空格。Python中的字符串被定义为在单引号('
)、双引号("
)或三引号('''
或 """
)中的字符序列。
s1 = 'hello'
s2 = "world"
s3 = '''这是
多行
字符串'''
s4 = """另一个
多行
字符串"""
Python中的字符串提供了许多内置方法进行操作,比如:
len(str)
: 返回字符串的长度。str.upper()
: 返回全部大写的字符串。str.lower()
: 返回全部小写的字符串。str.capitalize()
: 将字符串的第一个字符大写。str.replace(old, new)
: 替换字符串中的子串。str.split(sep)
: 将字符串按指定分隔符分割成列表。str.strip()
: 去除字符串两端的空格或指定字符。字符串中的字符可以通过索引访问,索引从0开始。Python也支持负索引,-1表示最后一个字符。
str = "Hello, World!"
print(str[0]) # 'H'
print(str[-1]) # '!'
print(str[2:5]) # 'llo' (切片操作)
在Python中,切片操作可以使用步长(stride)来控制。步长定义了在切片过程中跳过的元素数量。基本的切片语法是 [start:end:step]
,其中 step
就是步长。
start
表示切片开始的位置。end
表示切片结束的位置(不包括此位置)。step
表示在两个元素之间的间隔,即步长。如果步长为正,切片从左向右提取元素;如果步长为负,切片从右向左提取元素。
假设我们有一个字符串 "Hello World"
,我们可以使用不同的步长来进行切片操作:
str = "Hello World"
# 步长为1(默认值)
print(str[0:5:1]) # Hello
# 步长为2
print(str[0:5:2]) # Hlo
# 没有开始和结束,步长为2
print(str[::2]) # HloWrd
# 步长为-1,反向
print(str[::-1]) # dlroW olleH
# 步长为-2,从字符串末尾开始,每隔一个字符取一个
print(str[::-2]) # drWolH
使用步长,你可以很灵活地从序列中提取需要的部分。在没有指定 start
和 end
的情况下,使用正步长会从序列的开头开始到结尾,使用负步长会从序列的末尾开始到开头。
在Python中,字符串是不可变的,这意味着你不能改变字符串中的单个字符。但你可以通过拼接和其他操作来创建新的字符串。
str = "Hello"
str = str + " World" # 正确
# str[0] = "h" # 错误,会引发TypeError
Python提供了几种方式来格式化字符串:
使用 %
操作符:
name = "Alice"
age = 25
print("%s is %d years old." % (name, age))
使用 str.format()
方法:
print("{} is {} years old.".format(name, age))
使用 f-string (Python 3.6+):
print(f"{name} is {age} years old.")
字符串是Python中最常用的数据类型之一,用于处理各种文本数据。
在Python中,字符串可以通过内置的方法轻松地进行切割和替换。下面是这两种操作的基本用法:
字符串切割
字符串切割通常是通过 split()
方法来实现的。这个方法将字符串分割成子字符串,并返回一个列表。
text = "apple, banana, cherry"
result = text.split(", ")
print(result) # 输出: ['apple', 'banana', 'cherry']
在上面的例子中,字符串 text
被逗号加空格 ", "
分割成了多个部分。
字符串替换
字符串替换可以通过 replace()
方法来实现。这个方法将字符串中的某个子串替换成另一个子串。
text = "I like oranges"
new_text = text.replace("oranges", "apples")
print(new_text) # 输出: I like apples
在这个例子中,"oranges"
被替换成了 "apples"
。
进阶用法
split()
方法,这个参数指定了分割的次数。text = "apple, banana, cherry"
result = text.split(", ", 1)
print(result) # 输出: ['apple', 'banana, cherry']
replace()
方法也可以接收一个可选的第三个参数,表示替换的最大次数。text = "hello world, hello universe, hello galaxy"
new_text = text.replace("hello", "hi", 2)
print(new_text) # 输出: hi world, hi universe, hello galaxy
这些方法是处理字符串时非常有用的工具,可以用于各种文本处理和数据清洗任务。
在Python中,你可以使用多种方法来查找字符串中的子串,以及判断字符串是否符合特定的条件。这些方法包括:
字符串查找
find()
方法在字符串中查找子串,并返回子串的最低索引。如果未找到子串,则返回 -1。rfind()
方法类似,但它返回的是子串在字符串中最后出现的位置。text = "hello world"
index = text.find("world")
print(index) # 输出: 6
index = text.find("python")
print(index) # 输出: -1
index() 和 rindex()
这些方法与 find()
和 rfind()
类似,但如果子串不存在,它们会引发一个ValueError
异常。
text = "hello world"
try:
index = text.index("world")
print(index) # 输出: 6
index = text.index("python")
except ValueError:
print("Substring not found")
in 操作符
in
关键字来检查一个字符串是否包含另一个字符串。text = "hello world"
if "world" in text:
print("Substring found")
else:
print("Substring not found")
Python还提供了一系列的方法来判断字符串是否符合特定的格式:
isalpha()
isdigit()
isalnum()
isspace()
islower()
isupper()
istitle()
startswith() 和 endswith()
text = "Hello World"
print(text.startswith("Hello")) # 输出: True
print(text.endswith("World")) # 输出: True