值得收藏!16段代码入门Python循环语句

简介: [ 导读 ]本文重点讲述for语句和while语句。for语句属于遍历循环,while语句属于当型循环。除了两个循环语句外,还介绍了break、continue与pass三个用于控制循环结构中的程序流向的语句。

[ 导读 ]本文重点讲述for语句和while语句。for语句属于遍历循环,while语句属于当型循环。除了两个循环语句外,还介绍了break、continue与pass三个用于控制循环结构中的程序流向的语句。在此基础之上,也介绍了列表推导式,这是一种特殊的循环语句。

循环语句又称为重复结构,用于反复执行某一操作。面对大数量级的重复运算,即使借助计算机,重复编写代码也是费时的,这时就需要借助循环语句。使用循环语句一般要用到条件判断,根据判断式的返回值决定是否执行循环体。

循环分为两种模式,一种是条件满足时执行循环体,另一种则相反,在条件不满足时执行循环体。前者称为当型循环,后者称为直到型循环。

在图1中,虚线框内是一个当型循环结构,此结构包含判断条件和循环体,以及连接各部分的流向线。程序执行时,先判断条件的真假。判断为真时,则执行循环体;判断为假时,不再执行循环体,循环结束。当型循环先进行条件判断,如果满足循环条件,再执行循环体,因此又被称为前测试型循环。

在这里插入图片描述
在图2中,虚线框内是一个直到型循环结构,此结构包括判断条件和循环体,以及连接各部分的流向线。程序执行时,先执行一次循环体,再判断执行循环的结果是否满足判断条件。满足条件时,再次执行循环体;不满足条件时,不再执行循环体。直到型循环在执行判断前先进入循环体运行,因此又被称为后测试型循环。
在这里插入图片描述
Python中主要有两种循环语句,即for语句和while语句。前者采用遍历的形式指定循环范围,后者视判断式返回值的情况而决定是否执行。要更灵活地操纵循环的流向,就要用到break、continue和pass等语句。

01 for

for循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如str、list、tuple等,也可以遍历任何可迭代对象,如dict。不同于C语言,Python中的for语句将遍历系列中的所有成员,遍历顺序为成员在系列中的顺序。需要注意,在for循环中改变任何序列的内容都是危险的!

for语句不属于当型循环或直到型循环,它遍历序列对象内的元素,对每个元素运行一次循环体,循环的步数在程序开始执行时已经指定,不属于条件判断。

在for语句中,for和in搭配组成for-in循环结构,for-in循环依次把list或tuple中的每个元素迭代出来。for语句的基本语法格式如下:

for 变量 in 序列:
  操作语句

for语句常用的语法格式及其参数说明如下所示:

序列:接收序列,表示遍历范围,无默认值
操作语句:接收操作语句,表示执行一段代码,无默认值

程序的执行从“for变量in序列”开始,该语句把序列中的每个元素代入变量,执行一遍操作语句1,重复的次数就是序列中元素的个数。
为了展示for循环的遍历功能,依次打印list中的姓名,如代码清单1所示。

代码清单1:for语句遍历提取str

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 单纯遍历的for语句
names = ['Michael', 'Bob', 'Tracy']
# 遍历输出names中的元素
for name in names:
    print(name)

输出结果:

Michael
Bob
Tracy

for语句同样可以实现dict的遍历方法,如代码清单2所示。

代码清单2:for语句遍历查询dict

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
# 遍历键值对
print('key_value:', end = '')
for key, value in dic.items():
    print(key, value, sep = ':', end = ' ')
# 遍历键
print('keys:', end = '')
for key in dic.keys():
    print(key, end = ' ')
# 遍历值
print('values:', end = '')
for value in dic.values():
    print(value, end = ' ')

输出结果:

key_value:a:1 b:2 c:3 d:4
keys:a b c d
values:1 2 3 4

从代码清单2可以看到,for语句中用于遍历的“变量”不仅可以是Python默认的指代词,也可以是常规的变量。

和条件语句一样,循环语句也可以使用嵌套,作用同样是丰富程序的功能性。设计一个成绩录入系统,就必然要录入姓名和课程这两类信息,仅靠一层循环是无法实现的,可使用两层循环结构,如代码清单3所示。

代码清单3:嵌套for语句

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
students = ['小明', '小红']
subjects = ['语文', '数学'] 
sum1 = []
avg = []
for i in students: 
    print ('开始录入%s的考试成绩!'%i) 
    sum = 0
    for j in subjects: 
        print('请输入%s成绩:'%j) 
        score = int(input())
        sum += score
    average = sum / 2
    avg.append(average)
    sum1.append(sum)
print(students, '的总分依次是', sum1, ',', '平均分依次是', avg)
print('完成成绩录入!')

输出结果:

开始录入小明的考试成绩!
请输入语文成绩:
97
请输入数学成绩:
90
开始录入小红的考试成绩!
请输入语文成绩:
89
请输入数学成绩:
100
['小明', '小红'] 的总分依次是 [187, 189] , 平均分依次是 [93.5, 94.5]
完成成绩录入!

理论上,for循环也可以无限嵌套,但并不推荐。

02 while

while语句是Python中最常用的递归结构。区别于for循环,while循环结构包含条件判断式,是一种条件循环,属于当型循环。

while语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于while代码块的缩进语句。也可以在结尾处包含一个else代码块,它与while代码块是同级的,组成while-else的形式。while语句的基本语法格式如下。

while 条件表达式:
    操作语句 1
    操作语句 2    

while语句常用的参数及其说明如下所示:

条件表达式:接收布尔表达式,表示判断条件是否成立。无默认值
操作语句:接收操作语句,表示执行一段代码。无默认值

执行while语句时,只要顶部的条件表达式返回真值,就一直执行while部分嵌套的递归代码,当条件表达式返回假值时,不再执行操作语句,程序跳出while结构。

while语句的基础使用方法如代码清单4所示。

代码清单4:while语句

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
sum = 0
n = 99
while n > 0:
    sum += n
    n -= 2
print(sum)

输出结果:2500

如果布尔表达式不带有<、>、==、!=、in、not in等运算符,仅仅给出数值之类的条件,也是可以的。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。也可以写入str、list或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。

如果布尔表达式始终返回1,while语句就变成无限循环,如代码清单5所示。

代码清单5:while语句无限循环

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 布尔表达式为常数1,始终为真值
while 1:
     print('循环')

输出结果:

循环
循环
…  
# 布尔表达式每次递归运算都为2,始终为真值
x, y = 2, 1
while x / y:
    print('循环')
    x = x * 2
    y = y * 2

输出结果:

循环
循环
…

运行代码清单5,将会不断打印出“循环”。代码清单5展示了制造无限循环的两种方式,既可以在while后写入一个固定的真值,也可以写入一个一直生成真值的表达式。要终止无限循环,可以使用快捷键Ctrl+C中断循环的执行,也可以用循环终止语句,这将在下文中介绍。

灵活地利用while语句中的布尔表达式及代入表达式的递归值,可以实现特别的功能,如代码清单6所示。

代码清单6:while语句实现str截取

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
string = 'abcd'
while string:
    print(string)
# 该语句的递归计算是,每次从str的第2个字符开始截取
    string = string[1:]
     
输出结果:

abcd
bcd
cd
d

代码清单6包含一个自减迭代值,它并不通过明显的运算符实现自减,而是利用索引法则,x变量一直从str中第2个值截取至结尾,每次都将位于str最前面的字符截取掉,最终只剩下一个字符时,再次截取就只有空的结果,布尔表达式返回0,循环终止。

通过代码清单5和代码清单6可以看到,灵活地利用递归式,可以实现程序流向的控制。

while循环同样可以使用嵌套,嵌套的while循环实现成绩录入系统如代码清单7所示。

代码清单7:嵌套while语句

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
j = 1
while j <= 2:
    sum = 0
    i = 1
    name = input('请输入学生姓名:')
    while i <= 2:
        print ('请输入第%d门的考试成绩: '%i)
        sum += int(input())
        i += 1
    avg = sum / (i-1)
    print(name, '的平均成绩是%d'%avg)
    j += 1
print('学生成绩输入完成!')    

输出结果:

请输入学生姓名:小明
请输入第1门的考试成绩: 
98
请输入第2门的考试成绩: 
88
小明 的平均成绩是93
请输入学生姓名:小红
请输入第1门的考试成绩: 
65
请输入第2门的考试成绩: 
100
小红 的平均成绩是82
学生成绩输入完成!

代码清单7的第1层while语句用于录入人名,第2层则在各人名下录入多门成绩,布尔表达式决定录入的人数和课程数。

03 break、continue与pass

在前两节中,已经介绍了Python中的两种循环语句。循环语句中还可以嵌入break、continue和pass语句,以灵活地改变流向,实现更多功能。

1. break

在Python中,break语句用于终止循环语句的执行。使用该语句时,即使循环条件判断为真,或序列未被完全递归,循环语句也会被立刻停止。

break语句一般配合条件判断使用,因为程序的终止必须是在某一条件被满足时执行。break语句在for循环和while循环中的使用如代码清单8所示。

代码清单8:break语句的使用

# break语句用于for循环
string = "Python"
for i in string:
# 遍历至string中的字符n时,不再执行else代码块
    if i == 'n':
        break
    else:
        print("letter:{}". format(i))

输出结果:

letter:P
letter:y
letter:t
letter:h
letter:o   
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# break语句用于while循环
counts = 0
while True:
    print(counts)
    counts += 1
# 满足counts等于3时跳出循环,不再进入循环体
    if counts == 3: 
        break

输出结果:

0
1
2

从代码清单8可以看到,break语句用于for循环和while循环是有区别的。用于for循环时,只终止遍历中某一次的循环体执行;用于while循环时,整个循环被终止。

break只终止本层循环,如有多层嵌套的循环,在其中一层循环中写入break,只在这层循环中生效,程序将跳到上一层循环中继续运行,如代码清单9所示。

代码清单9:break语句用于嵌套循环结构

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 第1层循环,遍历次数为2
for i in range(2):
    print("-----%d-----" %i)
# 第2层循环,遍历次数为10
    for j in range(10):
# 使用break语句,j>1时不执行循环体
        if j > 1:
            break
        print(j)

输出结果:

-----0-----
0
1
-----1-----
0
1

在代码清单9中,break语句在条件判断式“if j>1:”后被使用,因此尽管j的指定遍历次数为10,实际上遍历只运行两次。由于break语句只终止本层循环的运行,i依旧遍历执行了两次,而不是在第1次遍历过程末尾终止。

2. continue

Python中的continue语句用于跳出当前循环,并执行下一次循环,而break跳出整层循环,两者的功能具有明显区别。

如果一段代码中包含continue语句,循环执行至continue处时,先忽略本次循环,在本层仍满足条件的剩余循环次数中继续执行,不会终止这一层循环。实际上,如果在某一层的每次循环中都使用continue语句,就相当于使用break语句。

打印一个数表,要不打印某些指定的数字,或只打印某类数,就可以使用continue语句跳过一些循环次数,该语句在for循环和while循环中都可以自由地使用,如代码清单10所示。

代码清单10:continue语句用于循环结构

# 当i等于1或3时,跳过continue后的print语句
for i in range(0,5):
    if i == 1 or i == 3:
        continue
    print(i) 

输出结果:

0
2
4  
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 如果遇到偶数,跳过continue后的print语句
counts = 0
while counts < 10:
    counts += 1
    if counts % 2 == 0:
        continue 
    print(counts)

输出结果:

1
3
5
7
9   

break语句一旦用于嵌套循环中的第n层,该层循环会被终止,但在执行第n-1层循环时,仍会创造一个第n层循环并执行。continue语句同样如此,只是仍会执行某一层的剩余部分。因此,无论使用哪种循环终止语句,都只会影响使用终止语句的那一层循环,而不会干扰到其他层。continue语句用于循环的例子如代码清单11所示。

代码清单11:continue语句用于嵌套循环结构

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 第1层循环,遍历次数为2
for i in range(2):
    print("-----%d-----" %i)
# 第2层循环,遍历次数为5
    for j in range(5):
# 当j等于2或4时,不执行循环体
        if j == 2 or j == 4:
            continue
        print(j)  

输出结果:

-----0-----
0
1
3
-----1-----
0
1
3

3. pass

pass是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。尽管pass语句不做任何操作,但如果暂时不确定要在一个位置放上什么样的代码,可以先放置一个pass语句,让代码可以正常运行。pass语句并非循环或者条件语句的一部分,但与break、continue在代码形式上有些类似。

使用pass语句遍历输出str及数值计算,如代码清单12所示。

代码清单12:pass语句

for element in "Python":
# element为y时,不做任何操作,不会被输出
    if element == "y":
        pass
    else:
        print(element)  

输出结果:

P
t
h
o
n   
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
counts = 0
while counts < 5:
    counts += 1
# i=3时,不执行循环体
    if counts == 3:
        pass
    else:
        print(counts ** 2)    

输出结果:

1
4
16
25 

从代码清单12可以看到,Python在“P”和“t”之间占位,当循环遍历到“y”时不做任何操作;当i等于3时,幂运算不执行,但不影响其他数值。上述两个代码如果在pass的位置缺失,程序将无法执行,因为判断条件没有给出相应的执行语句,会导致逻辑出错。使用pass语句占位,一方面为了让程序正常执行,另一方面也是为了方便以后补充操作语句。

04 列表推导式

推导式是可以从一个数据序列构建另一个新的数据序列的结构体,能够非常简洁地构造新的变量。列表推导式是其中最常用的类型。

列表推导式又称为列表解析式,是Python迭代机制的一种应用,也是一种高效创建列list的方式,可以动态地创建list。由于列表推导式必须用到遍历循环,因此属于一种特殊的循环。

使用列表推导式时,需要将推导式写在[]中。list中的元素可以来源于其他类型序列、可迭代对象或自建的满足一定条件的序列。使用列表推导式的好处是代码更加简洁,实现效率更高。

列表推导式的基本语法格式如下:

[操作语句 for变量 in 序列 if 条件表达式]    

列表推导式常用的参数及其说明如下所示:

  • 操作语句:接收操作语句,表示执行一段代码。无默认值
  • 条件表达式:接收布尔表达式,表示判断条件是否成立。无默认值
  • 序列:接收序列,表示遍历范围。无默认值

列表推导式可以不包含条件表达式,只做遍历,生成list,如代码清单13所示。

代码清单13:使用列表推导式生成list

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
vec = [-4, -2, 0, 2, 4]
# 用vec中元素的倍数,创建一个数组
print([x * 2 for x in vec])

输出结果:

[-8, -4, 0, 4, 8]


# 创建一个包含2元tuple的list
print([(x, x ** 2) for x in range(6)]) 
 
输出结果:

[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]   

在代码清单13中,除了列表推导式的简单形式,还说明了列表推导式中可以使用多样的函数和变量类型。另外,列表推导式中也可以包含条件语句,如代码清单14所示。

代码清单14:包含条件语句的列表推导式

# 过滤list,删除list中的负数
print([x for x in vec if x >= 0])

输出结果:

[0, 2, 4]

列表推导式最大的优点还是简洁,这需要与常规的编程方式进行对比。如代码清单15所示,要创建一个平方数组成的list,这里的两种方式是等价的,但列表推导式的方式显然代码更加简洁。

代码清单15:常规方式与列表推导式对比

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 创建一个平方数list:常规方式
squares = [] 
for x in range(10): 
    squares.append(x ** 2) 
print(squares)

输出结果:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 创建一个平方数list列表推导式
squares = [x ** 2 for x in range(10)] 
print(squares)    

输出结果:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

列表推导式中同样可以实现嵌套循环,如代码清单16所示。

代码清单16:包含嵌套循环的列表推导式

# 打印由tuple组成的list,tuple中i由0至2,j由0至2
[(i, j) for i in range(0, 3) for j in range(0, 3)]

输出结果:

[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
# 打印由tuple组成的list,i在0至2之间且小于1,j在0至2之间且大于1
[(i, j) for i in range(0, 3) if i < 1 for j in range(0, 3) if j > 1]

输出结果:

[(0, 2)]

代码清单16所示的列表推导式将两个不同list中的元素整合到了一起。列表推导式中包含一对括号,在括号中有一个表达式,表达式后面紧跟一条for语句,然后是零条或多条for语句或if语句。通过for语句和if语句计算出表达式,结果作为新list的元素。

相关文章
|
2月前
|
运维 监控 算法
时间序列异常检测:MSET-SPRT组合方法的原理和Python代码实现
MSET-SPRT是一种结合多元状态估计技术(MSET)与序贯概率比检验(SPRT)的混合框架,专为高维度、强关联数据流的异常检测设计。MSET通过历史数据建模估计系统预期状态,SPRT基于统计推断判定偏差显著性,二者协同实现精准高效的异常识别。本文以Python为例,展示其在模拟数据中的应用,证明其在工业监控、设备健康管理及网络安全等领域的可靠性与有效性。
618 13
时间序列异常检测:MSET-SPRT组合方法的原理和Python代码实现
|
2月前
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
|
9天前
|
数据采集 运维 API
把Postman调试脚本秒变Python采集代码的三大技巧
本文介绍了如何借助 Postman 调试工具快速生成 Python 爬虫代码,并结合爬虫代理实现高效数据采集。文章通过“跨界混搭”结构,先讲解 Postman 的 API 调试功能,再映射到 Python 爬虫技术,重点分享三大技巧:利用 Postman 生成请求骨架、通过 Session 管理 Cookie 和 User-Agent,以及集成代理 IP 提升稳定性。以票务信息采集为例,展示完整实现流程,探讨其在抗封锁、团队协作等方面的价值,帮助开发者快速构建生产级爬虫代码。
把Postman调试脚本秒变Python采集代码的三大技巧
|
16天前
|
数据管理 开发者 Python
揭秘Python的__init__.py:从入门到精通的包管理艺术
__init__.py是Python包管理中的核心文件,既是包的身份标识,也是模块化设计的关键。本文从其历史演进、核心功能(如初始化、模块曝光控制和延迟加载)、高级应用场景(如兼容性适配、类型提示和插件架构)到最佳实践与常见陷阱,全面解析了__init__.py的作用与使用技巧。通过合理设计,开发者可构建优雅高效的包结构,助力Python代码质量提升。
66 10
|
17天前
|
机器学习/深度学习 算法 关系型数据库
Python循环进阶:嵌套与控制的深度解析
本文深入探讨Python中嵌套循环的原理与应用,从数学模型到工程实践全面解析。内容涵盖嵌套循环的本质(如笛卡尔积实现、变量作用域)、精细控制技巧(如break/continue、迭代器协议、异常处理),以及性能优化策略(预计算、向量化等)。同时结合树形结构遍历、动态规划、游戏开发等典型场景,提供最佳实践建议。掌握这些技巧,助你突破编程瓶颈,实现复杂问题的优雅解决。
43 6
|
1月前
|
存储 Shell 开发者
Python用户输入与While循环
本文介绍了Python中用户输入与while循环的结合使用,通过`input()`函数获取用户输入,并利用while循环实现重复操作,如创建交互式程序或用户驱动的循环。示例代码展示了如何让用户输入数字并计算总和,直到输入指定退出命令。这种组合能帮助开发者构建强大的交互式Python应用。
|
1月前
|
数据采集 数据可视化 大数据
Python入门修炼:开启你在大数据世界的第一个脚本
Python入门修炼:开启你在大数据世界的第一个脚本
80 6
|
1月前
|
数据可视化 流计算 Python
Python创意爱心代码大全:从入门到高级的7种实现方式
本文分享了7种用Python实现爱心效果的方法,从简单的字符画到复杂的3D动画,涵盖多种技术和库。内容包括:基础字符爱心(一行代码实现)、Turtle动态绘图、Matplotlib数学函数绘图、3D旋转爱心、Pygame跳动动画、ASCII艺术终端显示以及Tkinter交互式GUI应用。每种方法各具特色,适合不同技术水平的读者学习和实践,是表达创意与心意的绝佳工具。
750 0
|
1月前
|
开发框架 Java .NET
Python中main函数:代码结构的基石
在Python中,`main`函数是程序结构化和模块化的重要组成部分。它实现了脚本执行与模块导入的分离,避免全局作用域污染并提升代码复用性。其核心作用包括:标准化程序入口、保障模块复用及支持测试驱动开发(TDD)。根据项目复杂度,`main`函数有基础版、函数封装版、参数解析版和类封装版四种典型写法。 与其他语言相比,Python的`main`机制更灵活,支持同一文件作为脚本运行或模块导入。进阶技巧涵盖多文件项目管理、命令行参数处理、环境变量配置及日志集成等。此外,还需注意常见错误如全局变量污染和循环导入,并通过延迟加载、多进程支持和类型提示优化性能。
117 0
|
2月前
|
数据采集 人工智能 数据挖掘
Python 编程基础与实战:从入门到精通
本文介绍Python编程语言,涵盖基础语法、进阶特性及实战项目。从变量、数据类型、运算符、控制结构到函数、列表、字典等基础知识,再到列表推导式、生成器、装饰器和面向对象编程等高级特性,逐步深入。同时,通过简单计算器和Web爬虫两个实战项目,帮助读者掌握Python的应用技巧。最后,提供进一步学习资源,助你在Python编程领域不断进步。