python学习的第四天

今天是学习【简明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
  1. 文件的输入和输出
    创建一个属于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!

  1. 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. 标准库
    1)sys模块
    sys 模块包括了一些针对特定系统的功能。
    2)logging日志模块
    如果你想将一些调试(Debugging)信息或一些重要的信息储存在某 个地方,以便你可以检查你的程序是否如你所期望那般运行,应该怎么做?你应该如何将这些信息“储存在某个地方”?
    这可以通过 logging 模块来实现。
  2. 其他小知识点,后续会再找资料细看。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值