【Python基础知识】Python中的for循环语句

发布 : python培训      来源:

2021-07-26 14:40:28

1、for循环语句

Python中除了while循环外,还有for循环。for循环用来迭代Python中序列(sequence)的元素,或其他可迭代对象(iterable)。在Python中,序列是一种有序的集合类型,如字符串和下一章将介绍的列表和元组。有一些通用的操作可以在每一种序列上使用,迭代就是其中之一。

for循环的语法格式如下:

for 迭代变量 in 可迭代对象:

循环体

使用for循环迭代打印字符串中的字符:

>>> for c in 'Python':

... print(c)

...

P

y

t

h

o

n

第一行代码先获取字符串'Python'的第一字符'P',再将其存储在变量c中,接着Python读取下一行代码。在第二行代码中,此时c的值为'P',print(c)将它打印出来。接下来这个循环会迭代(即重复)这个过程,c会依次被赋值为'y'、't'……直到这个字符串结束。

准确地说,Python中没有“字符”这个概念,一个单独的'P'也是字符串类型,上文称为字符是为了与字符串区分。

还可以将迭代出字符串和其他字符串拼接起来:

>>> vowel = 'AEIOU'

>>> for c in vowel:

... print(c, '是一个元音字母')

...

A 是一个元音字母

E 是一个元音字母

I 是一个元音字母

O 是一个元音字母

U 是一个元音字母

【Python基础知识】Python中的for循环语句

实际上,甚至可以不使用迭代出的字符串,而仅仅利用字符串的长度属性(如'Python'的长度是6),来重复做一些事。例如,打印6次“我爱Python”:

>>> for c in 'Python':

... print('我爱Python')

...

我爱Python

我爱Python

我爱Python

我爱Python

我爱Python

我爱Python

即使可以利用字符串的长度属性打印6次“我爱Python”,但却不提倡这种做法。迭代字符串,而不利用迭代出的字符,会造成计算机资源的浪费。

2、使用range()函数

由于重复地执行同一段代码是个很常见的任务,因此,Python内建了一个函数range()来使这个任务实现得更容易。使用range()函数来完成上面打印6次的任务:

>>> for i in range(6):

... print('我爱Python')

...

我爱Python

我爱Python

我爱Python

我爱Python

我爱Python

我爱Python

迭代range()函数和迭代字符串类似,每次都会获取range()函数产生的一个值,然后将它存储在变量i中。将上例的i打印出来:

>>> for i in range(6):

... print(i)

...

0

1

2

3

4

5

可能与预期的结果不同,打印出来的数字是0~5,而不是1~6。这是由于编程语言往往都是从0开始。

使用range()函数也可以完成打印1到100的任务,给range()函数传递两个参数,第一个参数为起始值,第二个参数为结束值:

>>> for i in range(1, 101):

... print(i)

...

1

2

3

4

……

98

99

100

由此可见,这种方式打印1到100,比使用while循环程序更加简洁。while循环往往需要初始化一个变量,还要在循环体中改变这个变量的值;而for循环往往只要指定次数或者指定初始值和结束值即可。

在上述程序中,range()函数的结束值不是100,而是101,而打印到100结束了。这是由于range()函数总是包含起始值而不包含结束值。

range()函数还可以在起始值和结束值的基础上,加入第三个参数——步长。步长就是指定获取数字的间隔。例如,打印1~10中的奇数和它们各自的平方:

>>> for i in range(1, 11, 2):

... print(i, '的平方是', i**2)

...

1 的平方是 1

3 的平方是 9

5 的平方是 25

7 的平方是 49

9 的平方是 81

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部