微x模块怎么导入主题_模块
一.模块
模块是最高级别的程序组织单元。在模块中,我们不但可以直接存放变量,还能存放函数和类。
定义变量需要用赋值语句,封装函数需要用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模块怎么导入主题_模块相关推荐
- 微x模块怎么导入主题_记录学习python第10天-模块/正则
最近上班比较忙,就只能抽空学习了 笔记依旧更新在石墨文档. Python基础知识 <Python基础知识>,可复制链接后用石墨文档 App 或小程序打开 6.5 模块和包 6.5.1 模块 ...
- python 调用另一个py_跟我自学python 第9章 类(9.4.6 在一个模块中导入另一个模块)...
大家好今天学习9.4.6 在一个模块中导入另一个模块 .今天我们继续学习python.马上类就学完了. 喜欢python就关注冠山巡山使. 我将跟大家一块自学完python语言. 9.4.6 在一个模 ...
- python怎么导入包-python模块之导入包及模块发布
1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...
- 微x模块怎么导入主题_python math数学模块
https://study.163.com/cours/courseMain.htm?courseId=1006383008&share=2&shareId=4000000003981 ...
- python模块如何导入解释器_无法从嵌入式解释器导入内置模块(仅限Windows)
这个问题看起来可能是一个重复的问题 但我认为我的问题是不同的.我正在从一个MSVC编译的C++应用程序运行Python 3.4解释器,并且我尝试使用PTVSD模块来调试更容易.到目前为止,我已经能够连 ...
- 华为手机怎么导入主题_如何在华为手机上设置主题动态壁纸
许多智能手机现在可以设置动态桌面墙纸,您还可以选择自己喜欢的桌面主题. 很多用户经常使用系统随附的主题界面后会感到呆板,因此他们想自己设置一些不同的主题界面,还可以自定义一些动态锁屏墙纸. 但是,有很 ...
- python爬虫模块_python之爬虫_模块
asdf The Dormouse's story总共 f Once upon a time there were three little sisters; and their names were ...
- python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解
0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...
- python中导入模块是用哪个关键字_关于python导入模块import与常见的模块详解
0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...
最新文章
- Android学习笔记---Timer的使用
- python语言入门e_python 语言学入门第一课必看:编码规范
- Scalaz(9)- typeclass:checking instance abiding the laws
- JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】
- tableview或scrollview Y轴发生变化解决方案
- python 问题自动匹配解决方案_最好的 Python IDE,你们推荐使用哪一个?
- 大数据之-Hadoop3.x_MapReduce_序列化案例FlowReducer---大数据之hadoop3.x工作笔记0099
- HTML--day02
- 卷积法求解光斑质心(附源码,C++、opencv)
- oracle pl/sql 无监听程序
- 写了一个验证数字范围的正则表达式
- 13、OSPF配置实验之LSA2
- 无效的列类型 || Mbatis-Plus链接oracle
- 新手用python写牛牛扑克牌玩法
- 【HNOI 2018】寻宝游戏
- MySQL批量创建测试数据脚本
- 射极跟随器负载过重引起的失真问题(摘抄)
- excel筛选时保留下面某些行不被筛选
- esxi 服务器上登陆系统,实战:添加ESX/ESXi服务器到vCenter Server
- 科技社计算机部长竞选演讲稿,关于部长竞选演讲稿(精选6篇)