Python爬坑之基本流程控制

本文是基于Python3进行说明
talk is cheap,show me the code.


  • 条件控制
  • 循环控制

条件控制

if...else...

python中的if/else和其他语言中的if/else基本上一致的

if/else:
  if True:
        print('AAA')  # do smoething...
    else:
        pass   # pass 占位符 什么都不做 类似于JS中return

elif:

python中是没有其他语言中类似switch..case..写法的。如果想要实现类似于switch的形式,有两种方法可以代替:

  1. 通过elif来代替
  2. 通过字典的key获取value来代替

        if a == 1:
            print('A')
        elif a == 2:
            print('B')
        elif a == 3:
            print('C')
        elif a == 4:
            print('D')
        else:
            print('E')

循环控制

python中的循环有两种: 1. while 循环 2. for 循环

while 循环

pythonwhile有个特点就是 它可以和else结合。当执行完所有while后 最后执行else

   CONDITION = 1
   while CONDITION <= 10:  # 当 CONDITION 小于10时执行
       print(CONDITION)
       CONDITION += 1
   else:
       print('结束了')    # while可以和else进行结合 当执行完所有while后 会执行一次else

for 循环

python中的主要用来遍历 序列 集合或者字典 但是python中的for 循环中也是可以使用else关键字。

基本用法
   a = ['apple', 'banana', 'orange'] # 定义一个列表用来循环
   for item in a:        # 类似于JS中的for...in...
       print(item)
   else:               # python的for循环的最后可以加一个else  它是在循环结束后执行
       print('for循环结束了')
break关键字

pyhtonfor 循环中 通过 break 关键字来跳出循环

  a = ['apple', 'banana', 'orange']
  for item in a:
      if item == 'orange':
          break      # break后 for循环后面所有的代码都不会执行 直接跳出for循环(else也不会执行)
      print(item)
continue关键字

pyhtonfor 循环中 通过 continue 关键字来跳过某次循环

a = ['apple', 'banana', 'orange']
for item in a:
    if item == 'banana':
        continue     # continue后 for循环会跳过本次循环 接着执行后面的循环
    print(item)
range()函数实现for循环

python 中是没有类似JS中的for(let i = 0; i < arr.length; i++){..}这种语法的,如果想要实现类似的循环,就可以通过for循环配合range()函数的形式:

range() 函数第一个参数是起始值 第二个参数是偏移量 第三个参数是步长 间隔多少 可以是负数 但不是必须参数

   for item in range(0, 10, 2):   # range() 函数第一个参数是起始值 第二个参数是偏移量 第三个参数是步长 间隔多少 可以是负数 但不是必须参数
   print(item)
for循环字典

字典是key/value的形式,类似JS中的对象。在python也可以通过for循环字典依次拿到字典的key和value,十分方便:

# 定义一个字典a
a = {'name': 'tiger', 'age': '25'}
for key, value in a.items():    # 注意 循环字典时 要调用字典的items()方法
    print(key+' : '+value)

Funky_Tiger
443 声望33 粉丝

刷题,交流,offer,内推,涨薪,相亲,前端资源共享...