1.if else 语句:非此即彼

if 判断条件1:

  执行语句1

elif 判断条件2:

  执行语句2

elif 判断条件3:

  执行语句3

else:

  执行语句4

编写一个testIfRamainder7.py 熟悉一下if语句:

# !usr/bin/env python
# -*- coding:utf-8 -*-


def isEvenNum(num):
    if num%7==0:
        print(u"%d 可以被7整除" %num)
    else:
        print(u"%d 不可以被7整除" %num)

if __name__=='__main__':
    numstr=raw_input("请输入一个整数:")
    try:
        num=int(numstr)
    except ValueError:
        print(u"输入有误,要求输入一个整数")
        exit()

    isEvenNum(num)


执行结果如下:

python爬虫回话失效 python爬虫语句_numpy

2.有限循环---for:

for Var in Sequence:

  执行语句

编写一个testForGauss.py熟悉for循环语句:

# !usr/bin/env python
# -*- coding:utf-8 -*-

def cumulative(num):
    sum=0
    for i in xrange(1,num+1):
        sum+=i
    return sum

def main():
    while True:
        print(u"========================")
        print(u"输入exit退出程序")
        str_num=raw_input("从1累加到:")
        if str_num=='exit':
            break
        try:
            sum=cumulative(int(str_num))
        except ValueError:
            print(u"除非退出输入exit,只能输入数字")
            continue
        print(u"从1累加到%d的总数是%d " %(int(str_num),sum))

if __name__ == '__main__':
    main()


执行结果如下:

python爬虫回话失效 python爬虫语句_爬虫_02

***仔细看下for循环的表达式,Sequence是一个序列,说明for循环不仅仅适用于数字形式的循环,比如可以将文件放入列表作为一个序列,然后对文件进行操作

3.无限循环--while:只要不满足某个条件,就一直循环下去直到满足条件为止:

while Boolean expression:

  执行语句

编写一个testWhileSimulateLogin.py 模拟Linux终端登录:

# !usr/bin/env python
# -*- coding:utf-8 -*-

import getpass

class FakeLogin(object):
    def __init__(self):
        self.name='king'
        self.password='haha,no pw'
        self.banner='hello,you have login system'
        self.run()

    def run(self):
        """仿Linux终端登录窗口"""
        print(u"不好意思,只有一个用户king")
        print(u"偷偷告诉你,密码是6个8欧")
        while True:
            print(u"Login:king")
            pw=getpass.getpass("Password: ")

            if pw == '88888888':
                print(u"%s" %self.banner)
                print(u"退出程序")
                exit()
            else:
                if len(pw)>12:
                    print(u"密码长度应该小于12")
                    continue
                elif len(pw) <6:
                    print(u"密码长度大于6才对")
                    continue
                else:
                    print(u"可惜,密码错误。继续猜!!")
                    continue
if __name__ == '__main__':
    f1=FakeLogin()

一开始运行失败啊:getpass函数不起作用

python爬虫回话失效 python爬虫语句_python_03

解决方法:不能在pycharm上运行,得在终端运行:

python爬虫回话失效 python爬虫语句_numpy_04

4.中断循环--continue,break:continue和break语句只能用于循环之中,只对循环起作用;

continue的作用是,从continue语句开始到循环语句结束,之间所有的循环语句不执行,直接从下一次循环重新开始

break语句的作用是,退出循环,该循环结束

编写一个随机猜数字的游戏,熟悉continue和break语句:

# !usr/bin/env python
# -*- coding:utf-8 -*-

import random

class GuessNum(object):
    """这个类用于猜随机数"""
    def __init__(self):
        print(u"随机产生一个0-100的随机数")
        self.num=random.randint(0,101)
        self.guess()

    def guess(self):
        i=0
        while True:
            print(u"猜这个随机数,0-100")
            strNum=raw_input("输入你要猜的数字:")
            i+=1
            try:
                print("******************************")
                if int(strNum) <self.num:
                    print(u"你猜的数字太小了")
                    continue
                elif int(strNum) >self.num:
                    print(u"你猜的太大了")
                    continue
                else:
                    print(u"你总算猜对了")
                    print(u"你一共猜了%d次" %i)
                    break
            except ValueError:
                print(u"只能输入数字,继续猜吧!!")
                continue
            print(u"如果没有continue或break,就会显示这个,不信试试")


if __name__ == '__main__':
    gn=GuessNum()


执行结果如下:

python爬虫回话失效 python爬虫语句_爬虫_05

5.异常处理---tyr  except:用try来测试可能遇出现异常的语句,except来处理可能出现的异常

try:

  语句

except [exception,[data...]]:

   Do something

except [exception,[data...]]:

  Do something

except [exception,[data...]]:

  Do something

因为同一语句可能出现不同的异常,所以也会给出不同的解决方法,编写一个testTryInput.py熟悉一下异常处理吧:

# !usr/bin/env python
# -*- coding:utf-8 -*-

class TryInput(object):
    def __init__(self):
        self.len=10
        self.numList=self.createList()
        self.getNum()

    def createList(self):
        print(u"创建一个长度为%d的数字列表" %self.len)
        numL=[]
        while len(numL)<10:
            n=raw_input("输入一个整数:")
            try:
                num=int(n)
            except ValueError:
                print(u"输入错误,要求输入一个整数")
                continue
            numL.append(num)
            print(u"现在的列表是:")
            print(numL)
        return numL

    def getNum(self):
        print(u"当前列表为:")
        print(self.numList)
        inStr=None
        while inStr!='EXIT':
            print(u"输入EXIT退出程序")
            inStr=raw_input("输入列表下标[-10,9]:")
            try:
                index=int(inStr)
                num=self.numList[index]
                print(u"列表中下标为%d的值为%d" %(index,num))
            except ValueError:
                print(u"输入错误,列表下标是一个整数")
                continue
            except IndexError:
                print(u"下标太大,访问列表超出范围")
                continue

if __name__ == '__main__':
    ti=TryInput()

执行结果如下:

python爬虫回话失效 python爬虫语句_python爬虫回话失效_06

 6.导入模块---import:前边写的一个程序,后面就可以将它当成一个模块导入现在的程序中,取其精华去其糟粕的使用,代码重用性高的可怕,而且python还可以根据需求将C,C++,JAVA等程序作为模块,随意取用。

#同时导入多个模块

import module[,module2[,.........moduleN]]

#导入模块中的某个函数,类,变量

from modname import name[,name2[,..........nameN]]

 #导入某个模块中所有

from modname import *

自己写一个模块,然后导入:testImportColorPrint.py:

# !usr/bin/env python
# -*- coding:utf-8 -*-

import sys

class ColorPrint(object):
    def __init__(self,color,msg):
        self.color = color
        self.msg = msg
        self.cPrint(self.color,self.msg)

    def cPrint(self,color,msg):
        colors={'black':'\033[1;30;47m','red':'\033[1;31;47m','green':'\033[1;32;47m','yellow':'\033[1;33;47m','blue':'\033[1;34;47m','white':'\033[1;37;47m'}
        #注意这里[]没有“]”的存在,才是正确的
     if color not in colors.keys():
            print(u"输入的颜色暂时没有,按照系统默认配置的颜色打印")
        else:
            print(u"输入的颜色有效,开始彩色打印")
            print(u"%s" %colors[color])
            print(msg)
            print(u"\033[0m")

if __name__ == '__main__':
    cp=ColorPrint(sys.argv[1],sys.argv[2])

 必须在终端执行,执行结果如下:

python爬虫回话失效 python爬虫语句_python爬虫回话失效_07

导入testImportColorPrint模块到其他程序中使用:

# !usr/bin/env python
# -*- coding:utf-8 -*-

from testImportColorPrint import ColorPrint

if __name__ == '__main__':
    p_black=ColorPrint('black','我是黑色打印')
    p_black=ColorPrint('red','我是红色打印')
    p_black=ColorPrint('green','我是绿色打印')
执行结果如下(不用在终端执行):

python爬虫回话失效 python爬虫语句_爬虫_08

 *****将Python程序当成模块导入的先决条件是,这两个程序在同一目录下,或者将模块化的程序的路径加入到Python的系统路径中