Python零基础入门十八之模块

这篇模块主要讲解的是模块的相关知识,首先说下什么是模块,简答一句话就是说模块即程序,.我们可以任何一段程序作为一个模块,在需要的时候直接导入即可。
1.模块存储在哪里
一般跟python的IDE放在一个目录下,其他目录如何放置下文将介绍
2.导入模块的三种方法
(1)import +模块名
(2)from 模块名 import 函数名(多个函数名之间用逗号隔开),也可以使用*作为通配符
(3)import 模块名 as 新名字
3.使用模块中的方法
使用 模块名.方法名 即可

下面列举一个关于模块的简单的例子:
首先在python.exe目录下新建一个Convert.py模块,在里面写了华氏度与摄氏度相互转换的两个函数,代码如下:

def ctf(x):
    return (32+x)*1.8
def ftc(x):
    return (x-32)/1.8

然后在一个另一个程序中导入模块,然后调用方法。

import Convert
print(Convert.ctf(100))

这里写图片描述
这里只是使用了导入包的第一种方法,其余两种方法类似,不过推荐使用第三种方法,尤其是模块名称过长的时候。

4.如何做到”家丑不外扬”
如果模块中存在着测试代码,又不想删除,同时又不想让引用模块时输出无用的数据,我们可以使用“if _name_==’_main_‘”语句。
例如我在刚刚的程序中加入测试语句。

def ctf(x):
    return (32+x)*1.8
def ftc(x):
    return (x-32)/1.8
print("测试数据:",ctf(100))

然后再在另一个调用模块的程序中运行该程序:

这里写图片描述

结果打印出了我们不想看到的一行数据。
我们可以这样修改代码:

def ctf(x):
    return (32+x)*1.8
def ftc(x):
    return (x-32)/1.8
if __name__=='__main__':
        print("测试数据:",ctf(100))

不要忘记if语句的格式与缩进
再去执行一下程序:

这里写图片描述

这样我们的“家丑”就不回外扬了。

再简单的解释一下为什么这样家丑就不回外扬了,其实打印几个参数就明白了:

def ctf(x):
    return (32+x)*1.8
def ftc(x):
    return (x-32)/1.8
print(__name__)
if __name__=='__main__':
        print("测试数据:",ctf(100))

我们在刚刚的模块的程序中加入了print(name)加一句代码,然后看其打印内容:

这里写图片描述

原来在模块中的namemain,而除了模块之外的name就不是main了,这样就将问题解决了。

import Convert

print(Convert.ctf(100))
print(__name__)
print(Convert.__name__)

这里写图片描述

其实不难理解,只有在自己的程序中的name字段的值才会为main.

5.搜索路径问题:进一步解决了模块放在哪里的问题
使用下面两条语句,可以查看python在执行语句时从哪里搜索模块进行导入。

import sys
print(sys.path)

这里写图片描述
当然我们也可以手动添加路径,由于path是一个列表,我们可以使用append方法进行追加。

sys.path.append("你的模块的路径\\")

这样便彻底解决了模块放在哪里的问题
6.包
包可以看作是一个专门放置模块的文件夹,创建一个包分为一下几步:
(1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字

(2)在文件夹中创建一个init.py的模块文件,内容可以为空,可以理解为这是一个包的标识性文件

(3)将相关的模块放入到文件夹中

导入包与导入模块类似:

import 包名.模块名 as 新名字

好了,关于模块的知识就到这了,以后再有会及时更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值