Python3 学习中的关键点

1.OS模块。Python是跨平台的语言,也就是说,同样的源代码在不同的操 作系统不需要修改就可以同样实现。有了OS模块,不需要关心什么操 作系统下使用什么模块,OS模块会帮你选择正确的模块并调用。

 

2.os.path模块 

 

 注意:join()函数与BIF的那个join()函数不同,os.path.join()用于将路径名 和文件名组合成一个完整的路径。getatime()、getctime()和getmtime()分别用于获得文件的最近访问时 间、创建时间和修改时间。不过返回值是浮点型秒数,可用time模块的 gmtime()或localtime()函数换算。

3.pickle模块

可以非常容易地将列表、字典这类复杂数据类型存储为文件。这是一个令人惊叹 (amazing)的模块,它几乎可以把所有Python的对象都转化为二进制 的形式存放,这个过程称为pickling,那么从二进制形式转换回对象的 过程称为unpickling。

import pickle

my_list = [123, 3.14, '小甲鱼', ['another list']]
pickle_file = open('D:\\my_list.pkl', 'wb')
pickle.dump(my_list, pickle_file) 
pickle_file.close()

这里希望把这个列表永久保存起来(保存成文件),打 开的文件一定要以二进制的形式打开,后缀名倒是可以随意,不过既然 是使用pickle保存,为了今后容易记忆,建议还是使用.pk或.pickle。使 用dump方法来保存数据,完成后记得保存。

import pickle

pickle_file = open("D:\\my_list.pkl", "rb")
my_list = pickle.load(pickle_file)
print(my_list) #[123, 3.14, '小甲鱼', ['another list']]

利用pickle模块,不仅可以保存列表,事实上pickle还可以保存任何你能想象得到的东西。

4.python异常

1)AssertionError:断言语句(assert)失败

2)AttributeError:尝试访问未知的对象属性

3)IndexError:索引超出序列的范围

4)KeyError:字典中查找一个不存在的关键字。建议使用dict.get()方法:

5)NameError:尝试访问一个不存在的变量

6)OSError:操作系统产生的异常

8)TypeError:不同类型间的无效操作

9)ZeroDivisionError:除数为零

5.异常捕获

try-except语句

1. 针对不同异常设置多个except

2. 对多个异常统一处理

3. 捕获所有异常

注意:try语句检测范围 内一旦出现异常,剩下的语句将不会被执行。

 try-finally语句:

finally语句块中的内容就是确保 无论如何都将被执行的内容。

raise语句

我的代码能不能自己抛出一个异常呢?答案是可以的,可以使用raise语句抛出一个异常

6.else语句的多种作用

在Python中,else语句不仅能与if语句搭配,构成“要么怎样,要么不怎样”的句式;它还能与循环语句(for语句或者while语句),构成“干完了能怎样,干不完就别想怎样”的句式;其实else语句还能够与 异常处理进行搭配,构成“没有问题?那就干吧”的句式。

#else与循环语句的搭配
def showMaxFactor(num):
    count = num // 2
    while count > 1:
        if num % count == 0:
            print('%d最大的约数是%d' % (num, count))
            break
        count -= 1
    else:
        print('%d是素数!' % num)

num = int(input('请输入一个数:'))
showMaxFactor(num)
#else与异常搭配
try:
    int('10')
except ValueError as reason:
    print('出错啦:' + str(reason))
else:
    print('没有任何异常!')

7.简洁的with语句

即要打开文件又要关闭文件,还要关注异常处 理,有点烦琐,所以Python提供了一个with语句,利用这个语句抽象出 文件操作中频繁使用的try/except/finally相关的细节。对文件操作使用 with语句,将大大减少代码量,而且再也不用担心出现文件打开了忘记 关闭的问题了(with会自动帮助关闭文件)。

try:
    f = open('data.txt', 'w')
    for each_line in f:
        print(each_line)
except OSError as reason:
    print('出错啦:' + str(reason))
finally:
    f.close()

#上面的代码可以改写成如下的写法

try:
    with open('data.txt', 'w') as f:
        for each_line in f:
            print(each_line)
except OSError as reason:
    print('出错啦:' + str(reason))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值