Python网络爬虫之Python语句

本文介绍了Python中的条件判断语句,包括if-else和elif结构,以及如何编写测试示例。接着讲解了for循环和while循环的使用,展示了如何在循环中使用continue和break语句。此外,还提到了异常处理的关键字try和except,以及如何导入和使用自定义模块。文章通过实例代码加深了对这些基本概念的理解。
摘要由CSDN通过智能技术生成

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)

执行结果如下:

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()

执行结果如下:

***仔细看下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函数不起作用

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

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()

执行结果如下:

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()

执行结果如下:

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])

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

导入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的系统路径中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小春熙子

你一毛我一毛,先富带后富

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值