首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python基础班结业回顾

经过一个月的学习,基础班毕业了,首先,恭喜自己考试通过,顺利进入进阶班!

在明天正式进入进阶班前,恰逢周末,就把基础班的知识重新梳理一遍,也当做个复习巩固!

基础班要掌握的内容有八个模块:

上次对前三个模块(数据类型、函数、面向对象)做了笔记,今天就从“文件操作”开始,做做笔记。

1.文件操作,主要是实现在python能够对文件(txt、excel等)的操作(读、写、追加内容)。其中,文件的基本处理语句总结如下:

要注意的是,io模块的功能主要是创建临时文件,这有什么作用呢?!其实就相当于一个跳板的作用,功能就是节省空间,不必要创建一个文件存储相关的内容。getvalue()是获取临时文件的所有的值,这是临时文件特有的功能。记住这一点就ok了!

学习文件,一定要学会的一个模块是os模块,这个模块对文件批量操作、查找、修改提供了应有尽有的工具(下面仅列出常用的):

这个模块就对批量处理文件提供了简便的方法,我举个例子吧,比如,要遍历一个文件夹下面所有的文件并提取文件名字,利用os模块就可以这样实现了。

遍历文件夹“测试”下面的所有内容,其中,“测试”文件夹的内容包含:

a.文件夹一个:深圳,该文件夹又包含两个文件:1.txt 2.txt

b.文件三个:将进酒.txt 手抄版.txt 支出表.xlsx

2.生成器(generator)和迭代器(Iterator)

生成器和迭代器的功能是节省内存空间,提高运行速度。这一点对于处理数据量大的项目就非常重要,特别对那么对效率要求较高的项目。

需要注意是,推导式(i for i range(10))产生的生成器,和列表、集合、字典推导式格式很像,但是区别很大,本质上是不同性质的对象,前者是特殊的迭代器(生成器),后者是可迭代对象!

生成器的另外一个重要的作用是能够在一个循环尚未跑完前就允许工程师去做点别的事情!什么意思?!我举个例子:

用for循环执行工作小时函数fib,如果持续让员工工作8小时就显得没人性,我们可以设置在工作3小时后暂停函数fib的调用,干点别的事(比如休息)再接着执行函数fib,这期间可以利用进度条实时显示休息的时长。

效果是这样的:

最后的结果是这样的:

3.正则

正则表达式是python编程很重要的一个模块,特别在爬虫的处理中,正则必不可少。基础班先了解一些入门的基础,我当时在课堂有些地方听得不是很明白,后来课后自己练习了一下,把注意的地方说一下。

数量匹配(* 、+ 、?、 )不可以单独使用,它们的作用域是排在其前一个字符,什么意思?看下面的例子:

匹配字符串 python234Lemon666niubisilepython234,把形式为’n[0-9]?‘的内容取出来,首先,第一个字母是n,第二个[0-9]表示0-9之间任意一个数字,?表示匹配0个或者1个,?的作用域是前一个字符,也就是[0-9],也就是说,字母'n'后面紧接着0个或者1个数字的内容匹配出来,那么匹配的结果就是:

['n2', 'n6', 'n', 'n2']

同样道理,边界符匹配的作用域是其后一个字符,就是这个意思^_^

4.异常

异常是检查代码强大的工具,如果不会异常,遇到庞大的代码,报错时,定位错误的成本就会很大,效率就会变得很低,因此,异常的掌握也是提高效率必不可少的能力。

注意的地方有,第一,语法错误(SyntaxError)是无法捕捉的,因为在代码执行前IDE(集成开发环境)就会检测语法的合规性;第二,利用异常可以退出循环,防止进入死循环或者出现不友好的报错信息。

比如利用生成器产生斐波那契数列,因为要指定生成的项数,因此生成的数量是固定的,当生成器生成完毕指定项数后,就会报出“StopIteration”的错误,需要用try...except去捕获异常,一旦捕捉到就立马退出循环,友好的结束代码,不至于出现报错的信息。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180805G1EUYA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券