马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 醉酒青牛 于 2015-10-30 22:50 编辑
小牛有话说:
各位鱼油,大家好。我是小牛,如果您已经看完或者正在看鱼神的《零基础入门学习Python》视频,想随时复习前面的知识点却又不想花太多时间和精力重翻视频,来这里《零基础入门Python学习》整理瞅瞅小牛呕心做的的视频内容的总结吧^_^,如果觉得有用的话,可以点击所属淘贴右上角的“订阅”按钮,这样以后就能够随时看到小牛做的最新的整理了。
另外,小牛十一回了趟家,结果就将更新耽搁了,这里对关注小牛帖子鱼油们说声抱歉了,后面小牛会尽力加快更新速度,争取在10月底更新到类和对象部分。
本期主要内容导读:
这一期我们归纳一下鱼神第三十四讲“丰富的else语句和简洁的with”。这一期里面鱼神主要是拓展了else语句的用法,除了和if搭配外,还可以和循环语句for及while联用以及try语句搭配;同时又介绍了with语句用来实现程序自动关闭打开的文件的方法。下面我们就来详细介绍一下各个知识点吧~~~~~~
1. 丰富的else语句:
首先,else语句可以和if语句搭配,实现如果条件为真则如何,否则则如何的功能。如判断一个输入的整数为偶数时则打印'输入的数为偶数',否则打印‘输入的数为奇数’举例说明:
>>> temp = int(input('请输入一个整数:'))
请输入一个整数:3
>>> if temp % 2 ==0:
print('输入的数为偶数!')
else:
print('输入的数为奇数!')
输入的数为奇数!
其次,可以和while或for循环搭配,实现如果循环体因为循环条件结束则如何,如果在循环因执行了break语句后跳出则不如何的功能。如输出一个数的最大公约数的程序代码:def showMaxFactor(num):
count = num // 2 #地板除以2进行整除,获得num数的可能的最大公约数
while count > 1: #如果一个数是素数,则循环会执行到循环条件不成立后结束
if num % count == 0: #存在最大的公约数则输出最大公约数并通过break跳出循环
print('%d的最大公约数是%d'%(num,count))
break
count -= 1
else: #循环条件不成立时执行该语句
print('%d是素数!'%num)
n = int(input('请输入一个整数:'))
showMaxFactor(n)
最后,else还可以和try语句搭配,用于检测代码段无异常时则执行else内语句,有异常则不执行,举例说明:
try:
m = int('abc')
except ValueError as reason:
print('出错了: ' + str(reason))
else:
print('程序无异常!')
出错了: invalid literal for int() with base 10: 'abc'
try:
m = int('123')
except ValueError as reason:
print('出错了: ' + str(reason))
else:
print('程序无异常!')
程序无异常!
[b]2. 简洁的with语句,with语句主要用来使程序自动检测到打开的文档并关闭而不需要人为的去关闭。如有的时候,我们用到了打开文档的命令,一般都会在后面加上filnally:f.close()来关闭;然而当文档不存在并未打开时,f.close()反而带来了异常,举例说明:[b]
try:
f = open('data1.txt','rt')
print(f.read())
except OSError as reason:
print('出错了: '+ str(reason))
finally:
f.close()
出错了: [Errno 2] No such file or directory: 'data1.txt'
Traceback (most recent call last):
File "D:/Python34/test/034/03.py", line 7, in <module>
f.close()
NameError: name 'f' is not defined
通过with语句就可以解决不需要finally自己定义关闭文档,又能使得程序自动关闭文档,举例说明:[/b]
try:
with open('data1.txt','rt') as f:
print(f.read())
except OSError as reason:
print('出错了: '+ str(reason))
出错了: [Errno 2] No such file or directory: 'data1.txt'
|