美文网首页Python“老奶奶”的python学习笔记
“老奶奶”的python学习笔记(16)

“老奶奶”的python学习笔记(16)

作者: 菁_在路上 | 来源:发表于2019-12-10 16:37 被阅读0次

    知识体系

    第16关:模块


    第16关:模块.jpeg

    知识点

    什么是模块?

    模块是最高级别的程序组织单元
    可以直接存放变量,函数,还能存放类

    定义变量需要用赋值语句,封装函数需要用def语句,封装类需要用class语句,但封装模块不需要任何语句。每一份单独的Python代码文件(后缀名是.py的文件)就是一个单独的模块

    使用模块的两种方式

    一种是自己建立模块并使用

    如何建立模块?
    在主程序的py文件中,使用import语句导入其他py文件

    模块相关的3个常用语句

    1、import语句
    我们使用import语句导入一个模块,最主要的目的并不是运行模块中的执行语句,而是为了利用模块中已经封装好的变量、函数、类。

    当我们导入模块后,要使用模块中的变量、函数、类,需要在使用时加上[模块.]的格式。实例化完成后,则不再需要“模块.”

    import…as…
    import语句还有一种用法是import…as…。比如我们觉得import story太长,就可以用import story as s语句,意思是为“story”取个别名为“s”

    当需要同时导入多个模块时,可以用逗号隔开
    比如import a,b,c可以同时导入“a.py,b.py,c.py”三个文件

    2、from … import … 语句
    可以让你从模块中导入一个指定的部分到当前模块。

    基本格式:
    from(模块名)import(制定模块中的变量名/函数名/类名)

    作用和效果:
    -导入模块中的指定部分(变量名/函数名/类名)
    -导入后的指定部分可以直接使用,无需加上“模块.”的前缀。

    当需要从模块中同时导入多个指定内容,也可以用逗号隔开
    写成from xx模块 import a,b,c的形式

    当需要从模块中指定所有内容直接使用时,可以写成【from xx模块 import 】的形式。代表“模块中所有的变量、函数、类”

    特别注意:没有被写在import后面的内容,将不会被导入

    3、if name == 'main'语句
    当我们有了一大堆py文件组成一个程序的时候,为了【指明】某个py文件是程序的运行入口,我们可以在该py文件中写出这样的代码:

    【文件:xx.py】
    代码块 ①……
    if name == 'main':
    代码块 ②……

    这段代码的意思是:正常直接使用时,代码块2是被运行的,但当作为整体的一部分被别人导入时就不运行了(被扣出去了)

    另一种是使用他人共享的模块

    python自带的内置模块,可随时调用。比如,time模块,random模块。除此之外,还可以到python资源库中下载安装相应的模块。

    下载安装的方式是:
    打开终端,Windows用户输入pip install + 模块名;苹果电脑输入:pip3 install + 模块名,点击enter即可。

    如何高效地学会使用一个模块

    比较小的模块(比如random模块)可以通过自学的方式,大型模块例如数据分析需要用到pandas和NumPy模块,网页开发要用到Django模块等等,最好还是在课程上系统学习,避免散乱的学习形不成知识体系。

    学习模块的核心是搞清楚模块的功能。也就是模块中的函数和类方法有什么作用,以及具体使用案例长什么样。

    -可以直接阅读官方文档:https://docs.python.org/3.6/library/random.html
    -也可以直接百度搜索

    搜到教程后,我们重点关注的是模块中的函数和类方法有什么作用,然后把使用案例做成笔记。

    -还可以使用dir()函数查看一个模块,看看它里面有什么变量、函数、类、类方法。
    作用:就像是查户口一样,可以把模块中的函数(函数和类方法)一览无余地暴露出来。对于查到的结果“xx”结构的,它们是系统相关的函数,我们不用理会,直接看全英文的函数名即可。这样查询的好处是便于我们继续搜索完成自学。
    甚至不是模块,我们也可以用这种方式自学:dir(x),可以查询到x相关的函数,x可以是模块,也可以是任意一种对象。

    案例:自学CSV模块
    可以把它理解成“简易版excel”
    举例:

    读取CSV:
    with open('test.csv', newline = '', encoding = 'utf-8') as f:
    reader = csv.reader(f) #使用csv的reader()方法,创建一个reader对象
    for row in reader: #遍历reader对象的每一行
    print(row)
    #参数encoding = 'utf-8'防止出现乱码

    写入CSV:
    with open('test.csv','a', newline='',encoding='utf-8') as f:
    writer = csv.writer(f) #使用csv的writer()方法,创建一个writer对象
    writer.writerow(['4', '猫砂', '25', '1022', '886'])

    这一关里的特殊知识点

    range()函数的三个参数

    课程中遇到的问题:
    for t in range(task_time,0,-1):

    在百度上查询后,了解到这里最后的一个参数的意思是:每一次减去1,一直减到0为止

    举例说明:
    range(5,-1,-1)的意思是:使用range产生一个列表,从5开始到-1之前结束。range的用法是range(开始,结束,步长),因为我们是要从大到小,所以我们用-1表示步长为-1,意味着每次-1,如果是-2,那就是每次-2

    相关文章

      网友评论

        本文标题:“老奶奶”的python学习笔记(16)

        本文链接:https://www.haomeiwen.com/subject/kmyggctx.html