一.模块

模块是最高级别的程序组织单元。在模块中,我们不但可以直接存放变量,还能存放函数和类。

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

封装模块的目的也是为了把程序代码和数据存放起来以便再次利用。如果封装成类和函数,主要还是便于自己调用。但封装成模块,不仅能自己使用,文件的方式也容易供其他人使用。

使用模块主要有两种方式,一种是自己建立模块并使用,另一种是使用他人共享的模块。

①使用自己的模块

建立模块,就是在主程序的Py文件中,使用import语句导入其他py文件

②模块相关的常用语句

1.import 语句

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

import语句还有一个用法是 import......as.....

比如: import story ,可以写成import story as s ,意思是story取别名为s,后续使用可直接用s 代替story

另外,当我们需要导入多个模块时,可以用逗号隔开,比如 importa,b,c可以导入a.py,b.py,c.py三个文件

2.from...import...语句

from...import...语句可以从模块中导入一个指定的部分到当前模块。格式如下:

栗子:

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

对于from...import...语句,要注意:没有被写入import后面的内容,将不会被导入。

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

一般情况下,我们不要为了图方便直接使用【from xx 模块 import*】的形式。因为模块xx的调用形式能通过阅读代码一眼看出是在调用模块中的变量、函数、方法,而去掉模块后代码就不那么直观了。

3.if__name__ =='__main__'语句

当我们有一大堆py文件组成一个程序的时候,为了【指明】某个py文件时程序的运行入口。。我们可以在该py文件中写出这样的代码:

意思是:

②使用他人的模块

例1:

例2:

这两个例子中的第一句代码,import time和import random其实就是在导入time和random模块。

time模块和random模块是python的系统内置模块,就是说python安装后就准备好了这些模块供我们使用。

此外,Python作为一门胶水语言,一个强大的又是就是它拥有许多第三方的模块可以直接拿来使用。

如果是第三方编写的模块,我们需要先从Python的资源管理库下载相关的模块文件。

下载安装的方式是打开终端,windows用户输入pip install+模块名;点击enter即可(需要预装python解释器和pip)

比如,爬虫时,我们会需要用到requests这个库(库是具有相关功能模块的集合),就需要在终端输入pip3 install resquets的指令。

1.内置模块

如果内置模块是用python编写的,就能找到py文件。

用命令random.__file__找出了random模块的文件路径,就可以去打开查看它的代码。

通过阅读源代码我们能找到所有能够使用的变量、函数、类方法。

但是如果想要高效地学会使用一个模块,看源代码并不是最佳选项。

2.如何自学模块

学习模块的核心是搞清楚模块的功能,也就是模块中的函数和类方法有什么作用,以及具体使用案例是什么样的。如果英文好的同学,可以直接阅读官方文档: https://docs.python.org/3.6/library

当然也可以百度搜素。

另外,我们也可以使用dir()函数查看一个模块,看看它里面有什么变量、函数、类、类方法

这样查询的好处是便于我们继续搜索完成i中学。比如我们在列表中看到一个单词seed,我们就可以搜一艘random.seed的用法

甚至不是模块,我们也可以用这种方法自学:dir(x),可以查询到x相关的函数,x可以是模块,也可以是任意一种对象。

模块的学习方法总结:

案例:学习CSV模块

csv是一种文件格式,学会了csv模块,你就可以用程序处理简单的电子表格了。

如果要手动新建csv文件,我们可以先新建一个excel表格,然后选择另存位“csv"格式即可

如何用csv模块读写csv文件?

我们使用import语句导入csv模块,然后用dir()函数看看它里面有什么:

同时,我们也可以搜索到CSV模块的官方英文教程: https://docs.python.org/3.6/library/csv.html

中文教程: https://yiyibooks.cn/xx/python_352/library/csv.html#module-csv

如果你要通过阅读这份教程来学系csv模块的话,最简单的方法是先看案例,遇到看不懂的函数,再倒回来查具体的使用细节。

现在也跟着案例试试如何读取csv文件,可见open()后面跟了两个参数,用csv.reader(文件变量)创建一个reader对象。

现新建一名为test.csv的文件,里面的内容如下:

然后我们新建py文件,将其放在同一文件夹下,再运行learn_csv.py文件的几行代码,就能print出csv文件中的每一行信息:

这样就可以读取到csv文件了。

如何往csv格式文件写入数据?

写入数据的方式是这样的:

先创建一个变量名为write的实例,创建方式是write = csv.write(x),然后使用write.writerow(列表)就可以给csv文件写入一行列表中的内容了。

现在,我要为下面这个列表,添加入两行列表['4','猫砂','25','102','75']、['5','猫罐头','20','34','89']

结果:

微x模块怎么导入主题_模块相关推荐

  1. 微x模块怎么导入主题_记录学习python第10天-模块/正则

    最近上班比较忙,就只能抽空学习了 笔记依旧更新在石墨文档. Python基础知识 <Python基础知识>,可复制链接后用石墨文档 App 或小程序打开 6.5 模块和包 6.5.1 模块 ...

  2. python 调用另一个py_跟我自学python 第9章 类(9.4.6 在一个模块中导入另一个模块)...

    大家好今天学习9.4.6 在一个模块中导入另一个模块 .今天我们继续学习python.马上类就学完了. 喜欢python就关注冠山巡山使. 我将跟大家一块自学完python语言. 9.4.6 在一个模 ...

  3. python怎么导入包-python模块之导入包及模块发布

    1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...

  4. 微x模块怎么导入主题_python math数学模块

    https://study.163.com/cours/courseMain.htm?courseId=1006383008&share=2&shareId=4000000003981 ...

  5. python模块如何导入解释器_无法从嵌入式解释器导入内置模块(仅限Windows)

    这个问题看起来可能是一个重复的问题 但我认为我的问题是不同的.我正在从一个MSVC编译的C++应用程序运行Python 3.4解释器,并且我尝试使用PTVSD模块来调试更容易.到目前为止,我已经能够连 ...

  6. 华为手机怎么导入主题_如何在华为手机上设置主题动态壁纸

    许多智能手机现在可以设置动态桌面墙纸,您还可以选择自己喜欢的桌面主题. 很多用户经常使用系统随附的主题界面后会感到呆板,因此他们想自己设置一些不同的主题界面,还可以自定义一些动态锁屏墙纸. 但是,有很 ...

  7. python爬虫模块_python之爬虫_模块

    asdf The Dormouse's story总共 f Once upon a time there were three little sisters; and their names were ...

  8. python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解

    0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...

  9. python中导入模块是用哪个关键字_关于python导入模块import与常见的模块详解

    0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...

最新文章

  1. Android学习笔记---Timer的使用
  2. python语言入门e_python 语言学入门第一课必看:编码规范
  3. Scalaz(9)- typeclass:checking instance abiding the laws
  4. JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】
  5. tableview或scrollview Y轴发生变化解决方案
  6. python 问题自动匹配解决方案_最好的 Python IDE,你们推荐使用哪一个?
  7. 大数据之-Hadoop3.x_MapReduce_序列化案例FlowReducer---大数据之hadoop3.x工作笔记0099
  8. HTML--day02
  9. 卷积法求解光斑质心(附源码,C++、opencv)
  10. oracle pl/sql 无监听程序
  11. 写了一个验证数字范围的正则表达式
  12. 13、OSPF配置实验之LSA2
  13. 无效的列类型 || Mbatis-Plus链接oracle
  14. 新手用python写牛牛扑克牌玩法
  15. 【HNOI 2018】寻宝游戏
  16. MySQL批量创建测试数据脚本
  17. 射极跟随器负载过重引起的失真问题(摘抄)
  18. excel筛选时保留下面某些行不被筛选
  19. esxi 服务器上登陆系统,实战:添加ESX/ESXi服务器到vCenter Server
  20. 科技社计算机部长竞选演讲稿,关于部长竞选演讲稿(精选6篇)

热门文章

  1. 弘辽科技:关于老店盘活的基础思路。
  2. 宠物店小程序开发线上预约
  3. 在excel里面怎么筛选出11位的手机号码?
  4. 2015年网页设计配色趋势预测
  5. 大数据的5大关键技术点
  6. CMMI——认证流程
  7. 外包程序员的水平真的很垃圾吗?
  8. 微信扫描登录(生成二维码)
  9. ION to SMMU
  10. 张小飞的Java之路——第九章