今天是学习【简明python教程】的第四天,也是最后一天。
四天看完一本书,我却没有很大的成就感,因为里面很多的知识点我是一点都不理解的,还有很多知识点是一知半解。
一本书的结束,是另一本书的开始,我还有很长的路要走,加油,坚持下去。
1. 输入与输出
1) 与用户进行交互
如我们很熟悉的input() 和print().
2) 处理文件袋输入与输出
如创建,读取与写入文件
2. 上述所说的第一种,与用户的交互
def reverse(text):
return text[::-1]
def is_palindrome(text):
return text==reserve(text)
something=input('Enter text:')
if is_plaindrome(something):
print('Yes,it is a palindrome')
else:
print('No ,it is not a palindrome')
输出结果:
Enter text:sir
No it is not a plaindrome
Enter text:madam
Yes it is a palindrome
- 文件的输入和输出
创建一个属于file类的对象,并适当使用它的read,readline和write方法来打开或使用文件,并对他们进行读取和写入。
最后,当你完成文件后,可以使用close方法,将其关闭。
poem='''\
Programming is fun
When the work is done
if you wanna make your work also fun :
use Python!
'''
#打开文件以编辑(‘w’riting)
f=open('poem.txt','w')
#向文件中编写文本
f.write(poem)
#关闭文件
f.close
#如果没有特别指定,将假定启用默认的的阅读(‘r’ead)模式
f=oprn('poem.txt')
while True:
line=f.readline
#零长度指标EOF
if len(line)==0:
break
print(line,end='')
#关闭文件
f.close
输出结果:
Programming is fun
When the work is done
if you wanna make you work also fun
use Python!
-
Pickle模块
对这个模块一点也不熟悉,也不知道他的作用是什么,暂时先记着,后续专门找相应的练习题,多练练手,再来看看理论知识,会更加好的理解它。通过这个标准模块,你可以将任意纯Python对象存储到一个文件中,并在稍后将其取回。这叫做持久的存储对象。
import pickle
#存储相关对象的文件名称
shoplistfile='shoplist.data'
#需要购买的物品清单
shoplist=['apple','mango','carrot']
# 准备写入文件
f=open(shoplistfile,'wb')
#转储对象至文件
pickle.dump(shoplist,f) #将一个对象储存到一个文件当中
f.close
#清楚shoplist变量
del shoplist
#重新打开储存文件
f=open(shoplistfile,'rb')
#从文件中载入对象
storedlist=pickle.load(f)
print(storedlist)
输出结果:
['apple','mango','carrot']
注意点:要想将一个对象储存到一个文件中,我们首先需要通过open以写入(write)二进制(binary)模式打开文件,然后调用pickle模块的dump函数。这一过程被称作封装。
接着,我们通过pickle模块的load函数接收返回的对象,这一个过程,叫做封装。
5. 异常(看不懂,先记着,后续再补)
1)处理异常
我们可以通过try…except来处理异常状况。
通常情况下,我们会把通常的语句放在try代码中,将为我们的错误错误处理器代码放置在except代码块中。
try:
text=input('Enter somethong--->')
except EOFError:
print('Why did you do an EOF on me')
except KeyboardInterupt:
print('You cancelled the operation.')
else:
print('you entered {}'.format(text))
输出结果:
# Press ctrl + d
Enter something --> Why did you do an EOF on me?
# Press ctrl + c
Enter something --> ^CYou cancelled the operation.
Enter something --> No exceptions
You entered No exceptions
2)抛出异常
你可以通过raise语句来引发一次异常。具体方法是提供错误名或异常名以及要抛出(Thrown)异常的对象。
你能够引发的错误或异常必须是直接或间接从属于 Exception (异常) 类的派生类。
3) Try…Finally
假设你正在你的读取中读取一份文件。你应该如何确保文件对象被正确关闭,无论是否会发生异常?这可以通过 finally 块来完成。
import sys
import time
f = None
try:
f = open("poem.txt")
# 我们常用的文件阅读风格
while True:
line = f.readline()
if len(line) == 0:
break
print(line, end='')
sys.stdout.flush()
print("Press ctrl+c now")
# 为了确保它能运行一段时间
time.sleep(2)
except IOError:
print("Could not find file poem.txt")
except KeyboardInterrupt:
print("!! You cancelled the reading from the file.")
finally:
if f:
f.close()
print("(Cleaning up: Closed the file)")
输出结果:
Programming is fun
Press ctrl+c now
^C!! You cancelled the reading from the file.
(Cleaning up: Closed the file)
- 标准库
1)sys模块
sys 模块包括了一些针对特定系统的功能。
2)logging日志模块
如果你想将一些调试(Debugging)信息或一些重要的信息储存在某 个地方,以便你可以检查你的程序是否如你所期望那般运行,应该怎么做?你应该如何将这些信息“储存在某个地方”?
这可以通过 logging 模块来实现。 - 其他小知识点,后续会再找资料细看。