Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识(上)

简介: Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

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

其中,startend 是可选参数,表示子字符串的开始位置和结束位置。如果不指定 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() 方法关闭文件。这种写法可以减少代码量,并提高代码的可读性。

相关文章
|
11天前
|
计算机视觉 Python
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
35 7
|
1月前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
28 2
|
1月前
|
UED 开发者 Python
Python中的异常处理机制
Python中的异常处理机制
42 2
|
1月前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
34 2
|
1月前
|
Python
Python 中,循环判断
Python 中,循环判断
51 1
|
1月前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
51 2
|
1月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
39 4
|
2月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
73 5
|
1月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
2月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。