for循环
在 Python 中,for 循环用于遍历序列(list、tuple、range 对象等)或其他可迭代对象。for 循环的基本语法如下:
for 变量 in 可迭代对象: # 循环体
其中,变量
表示每次循环中取出的一个元素,可迭代对象
表示被遍历的对象。下面是一个 for 循环的例子:
fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)
输出结果为:
apple banana cherry
代码中,fruits
是一个列表,fruit
是当前循环中取出的元素。
除了用于遍历序列外,for 循环还可以结合 range() 函数使用。range() 函数用于生成一个整数序列,它的基本语法如下:
range([start], stop[, step])
其中,start
为可选参数,表示序列的起始值;stop
是必需参数,表示序列的结束值(不包括该值);step
为可选参数,表示步长,默认为 1。下面是一个 for 循环结合 range() 函数的例子:
for i in range(1, 5): print(i)
输出结果为:
1 2 3 4
上述代码中,range(1, 5)
生成了一个包含整数 1、2、3、4 的序列。
除了常规使用外,for 循环还可以和 break 和 continue 语句一起使用。break 语句用于结束整个循环,而 continue 语句用于跳过本次循环。下面是一个包含 break 和 continue 的 for 循环例子:
fruits = ["apple", "banana", "cherry", "orange", "kiwi"] for fruit in fruits: if fruit == "orange": break elif fruit == "banana": continue print(fruit)
输出结果为:
apple cherry
代码中,当循环到 “orange” 时,使用 break 语句结束循环;当循环到 “banana” 时,使用 continue 语句跳过本次循环。
while循环
Python 中,while 循环用于重复执行一段代码,直到满足某个条件才停止循环。while 循环的基本语法如下:
while 条件: # 循环体
其中,条件
表示一个表达式或变量,当该表达式或变量为 True 时,循环体会被执行。下面是一个简单的 while 循环的例子:
i = 1 while i <= 5: print(i) i += 1
输出结果为:
1 2 3 4 5
代码中,i 的初始值为 1,每次循环 i 的值都会加 1,当 i 大于 5 时,循环停止。
需要注意的是,在使用 while 循环时要确保循环条件最终能够变为 False,否则会导致死循环。下面是一个死循环的例子:
# 死循环,永远不会停止 while True: print("Hello, world!")
字符串操作
在 Python 中,字符串是一种不可变对象,即不能修改其内容。但是我们可以通过字符串函数来操作字符串,例如访问字符串中的字符、拼接字符串等。
访问字符串中的字符
使用 []
运算符可以访问字符串中的单个字符。Python 中的字符串索引从 0 开始,也可以使用负数索引从右侧开始计数。例如,字符串 “Hello, world!” 可以表示为以下索引:
+---+---+---+---+---+---+---+---+---+---+---+---+ | H | e | l | l | o | , | | w | o | r | l | d | +---+---+---+---+---+---+---+---+---+---+---+---+ 0 1 2 3 4 5 6 7 8 9 10 11 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
下面是一个字符串访问的例子:
string = "Hello, world!" print(string[0]) # H print(string[-1]) # ! print(string[7:12]) # world
输出结果为:
H ! world
代码中,我们使用 []
运算符访问字符串中的单个字符。例如 string[0]
返回字符串中的第一个字符,string[-1]
返回字符串中的最后一个字符。
还可以使用切片语法访问字符串的子串。切片语法是指通过指定开始位置和结束位置来获取字符串的子字符串,语法如下:
string[start:end
其中,start
和 end
是可选参数,表示子字符串的开始位置和结束位置。如果不指定 start
,则默认为 0;如果不指定 end
,则默认为字符串的长度。下面是一个使用切片访问字符串的例子:
string = "Hello, world!" print(string[0:5]) # Hello print(string[7:]) # world! print(string[:5]) # Hello print(string[:-1]) # Hello, world
输出结果为:
Hello world! Hello Hello, world
切片语法中还可以使用第三个参数 step
(步长)来指定从字符串中每隔多少个字符取一个字符。例如,当 step=2
时,表示每隔一个字符取一个字符,以此类推。需要注意的是,步长不能为 0,否则会抛出 ValueError
异常。
下面是一个使用步长访问字符串的例子:
string = "Hello, world!" print(string[::2]) # Hlo ol!
在这个例子中,[::2]
表示从字符串中每隔一个字符取一个字符,所以输出结果为 Hlo ol!
。
需要注意的是,如果要逆序遍历字符串,我们可以先将步长设为 -1,然后再反向取子字符串。例如:
string = "Hello, world!" print(string[::-1]) # !dlrow ,olleH
在这个例子中,[::-1]
表示从字符串的末尾开始,每隔一个字符取一个字符,所以输出结果为 !dlrow ,olleH
,即原字符串翻转过来的字符串。
切片总结
s = "Hello, world!" # 基本切片操作,获取子字符串 print(s[0:5]) # 输出 "Hello",包含开头位置,不包含结束位置 print(s[7:]) # 输出 "world!",从第 7 个字符开始,一直到字符串末尾 print(s[2:9]) # 输出 "llo, wo",包含开头位置和结束位置之间的所有字符 print(s[:5]) # 输出 "Hello",从字符串开头位置开始,一直到第 5 个字符(不包含) print(s[:-1]) # 输出 "Hello, world",没有指定结束位置,默认到字符串末尾 # 步长操作,获取间隔多少个字符的子字符串 print(s[::2]) # 输出 "Hlo,wr!d",从第 0 个字符开始,每隔 2 个字符取一个字符 print(s[1::3]) # 输出 "eood",从第 1 个字符开始,每隔 3 个字符取一个字符 # 反转字符串 print(s[::-1]) # 输出 "!dlrow ,olleH",步长为 -1 表示反转字符串
字符串拼接
使用加号 +
可以将两个或多个字符串拼接成一个新的字符串。下面是一个字符串拼接的例子:
string1 = "Hello" string2 = "world" string3 = string1 + ", " + string2 + "!" print(string3) # Hello, world!
输出结果为:
Hello, world!
除了加号 +
外,还可以使用 join() 方法来拼接字符串。join() 方法是一个字符串方法,它将一个可迭代对象中的字符串元素连接起来,并返回一个新的字符串。下面是一个使用 join() 方法拼接字符串的例子:
string1 = "Hello" string2 = "world" strings = [string1, string2, "!"] string3 = "".join(strings) print(string3) # Hello, world!
输出结果与上一个例子相同。
文件读写
在 Python 中,可以使用内置的 open() 函数来读取和写入文件。open() 函数的基本语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,file
参数是必需的,表示要打开的文件路径(相对或绝对),mode
参数是可选的,表示打开文件的模式,默认为 ‘r’(只读)。下面是一个使用 open() 函数读取文件的例子:
# 打开文件 f = open("example.txt", "r") # 读取文件内容 content = f.read() # 关闭文件 f.close() # 输出文件内容 print(content)
代码中,我们使用 open() 函数打开一个名为 example.txt 的文件,并使用 read() 方法读取其内容。最后,我们关闭了该文件。
如果要写入文件,需要将 mode 参数设置为 ‘w’ 或 ‘a’。‘w’ 表示写入模式,会覆盖原有的内容;‘a’ 表示追加模式,会在文件末尾添加新的内容。下面是一个使用 open() 函数写入文件的例子:
# 打开文件 f = open("example.txt", "a") # 写入文件内容 f.write("\n 李白醉酒诗百篇") # 关闭文件 f.close()
效果如图:
代码中,我们使用 open() 函数打开一个名为 example.txt 的文件,并使用 write() 方法在文件末尾添加了一行新的内容。最后, 关闭了该文件。
需要注意的是,在打开文件后,必须要使用 close() 方法关闭文件。如果不关闭文件会导致资源泄漏,甚至可能会影响其他应用程序读取该文件。
使用 with 语句来自动关闭文件,例如:
with open("example.txt", "r") as f: content = f.read() print(content)
代码中,使用 with 语句来打开一个文件,并使用 read() 方法读取文件内容。当 with 语句块结束时,自动调用文件的 close() 方法关闭文件。这种写法可以减少代码量,并提高代码的可读性。