Python中有两种循环,分别为:for循环和while循环。函数
1. for循环spa
for循环能够用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次)。for循环的基本结构以下:设计
具体看这个案例:code
设计一个函数,在桌面建立10个文本,用数字从1-10依次给它们命名。orm
1 def text_create(): 2 path = '/Users/duwangdan/Desktop/' 3 for text_name in range(1,11): 4 # 1-10的范围须要用到range函数 5 with open (path + str(text_name) + '.txt','w') as text: 6 # with...as的用法正文内会详细介绍 7 text.write(str(text_name)) 8 text.close() 9 print('Done') 10 11 text_create()
如今咱们来理解下每行代码。对象
第1行:定义一个text_create函数;blog
第2行:给变量path赋值为桌面路径;字符串
第3行:将1-10范围内的每一个数字依次装入变量text_name中,每次命名一个文件;it
第5行:打开位于桌面的txt文件,并给每个text执行写入操做;for循环
第7行:给每一个文件依次命名;
第8行:关闭文件;
第9行:执行完一次命名操做后显示一个Done;
第11行:调用函数。
案例中提到了“with...as”,在Python中,“with...as”语法是用来代替传统的“try...finally”的。
好比:打开桌面的test文件,尝试读取文件内容,最后关闭文件。
1 file = open('/Users/duwangdan/Desktop/test.txt') 2 try: 3 data = file.read() 4 finally: 5 file.close()
虽然这段代码执行良好,但比较冗长,换成用“with...as”来表达后,代码会更为简洁。
1 with open('/Users/duwangdan/Desktop/test.txt') as file: 2 data = file.read()
除了上面的单层循环以外,还有一种常见的循环,是嵌套循环。
好比用嵌套循环实现九九乘法口诀。
1 for i in range(1,10): 2 for j in range(1,10): 3 print('{} X {} = {}'.format(i,j,i*j))
最外层的循环,依次将1-9的数字储存在变量i中;变量i每取一次值,内层循环就依次将1-9的数字储存在变量j中;最后打印出当前的i、j、和i*j的值。
从Python2.6开始,新增了format函数,用来格式化字符串,能够经过{}.format来实现。在上面这个案例中,将i、j、i*j的值分别存入前面的{ }中,而后作好格式化,统一形式。
2. while循环
for循环和while循环,二者的相同点在于都能循环作一件重复的事情;不一样点在于,for循环是在序列穷尽时中止,while循环是在条件不成立时中止。
具体,看下面这个例子:
1 count = 0 2 while True: 3 print('重复一遍') 4 count = count + 1 5 if count == 3: 6 break
给变量count赋值为0,while True就是条件成立,显示“重复一遍”,此时count被从新赋值为count+1,若是count等于3时,跳出循环。最后一句的break是跳出最近一层的循环,若是不跳出,程序会无限制循环下去,形成死循环。
若是不想用break来跳出循环,也能够改变使循环成立的条件。
将上面的例子可转化为以下:
1 count = 0 2 while (count < 3): 3 print('重复一遍') 4 count = count + 1