Python之第八章 模块和包 --- 模块

目录

Python之第八章 模块和包 --- 模块

1.模块

1.定义:

2.作用:

3.分类

4.模块导入的常见方法:五种

5.使用import导入模块

6.使用from...import语句导入模块

7.使用as关键字为导入模块定义别名

8.自定义模块

        例1 新建一个模块文件,实现素数的判断

        自定义模块的功能测试

9.模块搜索目录


Python之第八章 模块和包 --- 模块

1.模块

1.定义:

        将实现某一特定功能的代码放置在一个文件中,以便于其他程序进行导入使用,可以避免函数名、变量名的冲突,改文件称为模块,扩展名为.py

        模块 --- 可以将其堪称包含变量或一组方法的Python文件对象,或者多个Python文件对象组成的目录。

2.作用:

  1. 模块 = 函数+类+变量
  2. 程序规模不断变大需要分为多个文件,以提高维护性
  3. 模块可以重复导入,提高重用性

3.分类

        内置模块 --- 当前使用,Python内置模块大概有200多个标准模块,如:

模块名用途
time时间模块
urllib读取互联网服务的标准库
math数学类
re正则
sys解释器以及系统相关

        自定义模块 --- 第三方模块

4.模块导入的常见方法:五种

  1. import 模块名
  2. from 模块名 import 功能名
  3. from 模块名 import * --- 相当于第一种
  4. import 模块名 as 命别名
  5. from 模块名 import 功能名 as 别名

5.使用import导入模块

        import 模块名

        import 模块名1,模块名2,...,模块名n(导入多个模块)

import math
​
print(math.sqrt(9))
​
结果:
3.0

6.使用from...import语句导入模块

        作用 --- 使用import导入模块时,如果只需要部分函数可以通过from语句实现

注意:

        使用时不需要增加模块名前缀

from math import sqrt, floor
​
print(sqrt(9), floor(10.88))
​
结果:
3.0 10

7.使用as关键字为导入模块定义别名

        原因 --- 某种情况下模块名称过长,建议使用as命名一个较为短的新名称,调用时使用新名称进行操作

import time as t
​
print('hello')
t.sleep(3)
print('world')

注意:

        使用from..import导入的模块必须保证导入内容名称唯一,若导入的模块有相同的变量、函数、类则会覆盖之前导入的同名内容,因此需要检查,别名应简洁

8.自定义模块

        作用 --- 将相关的代码写在一个单独的文件中,并命名为 ‘模块’.py --- 自行创建的模块名称不能与标准库中的模块名重名

例1 新建一个模块文件,实现素数的判断

        1.在当前目录下新建文件prime.py

        2.输入代码后保存退出

def fun_prime(num):
    if num < 2:
        print('输入错误,请输入大于2的整数')
    else:
        for i in range(num):
            if num % 2 == 0:
                return 0
        else:
            return 1
​
# 找出一百以内的素数
import prime as pe
​
a = 0
print('一百以内的素数为:')
for i in range(2, 100):
    if pe.fun_prime(i) == 1:
        print(i, end=' ')
        a += 1
    if a == 10:
        print()
        a = 0

自定义模块的功能测试

        作用 --- 在编写完自定义模块以后,最好在模块中对代码进行提前测试,以防止抛出异常

        模方方法 --- _ _ name _ _ --- 每个模块的定义中都包含一个记录模块名称的字符串变量( _ _ name _ _),随着运行的页面不同,返回不同。

        当前页面执行 --- 返回结果为 _ _ main _ _

print(__name__)
​
def fun_prime(num):
    '''
    判断输入的数字是否为素数
    :param num: 输入的数字
    :return: 0 表示该数不是素数 1 表示该数为素数
    '''
    if num < 2:
        print('输入错误,请输入大于2的整数')
    else:
        for i in range(num):
            if num % 2 == 0:
                return 0
        else:
            return 1
        
结果:
_ _main_ _

在其他文件调用执行 --- 输出模块文件名 --- _ _ 模块名_ _

# 找出一百以内的素数
import prime as pe
​
a = 0
print('一百以内的素数为:')
for i in range(2, 100):
    if pe.fun_prime(i) == 1:
        print(i, end=' ')
        a += 1
        if a == 10:
            print()
            a = 0
​
结果:
prime
一百以内的素数为:
3 5 7 9 11 13 15 17 19 21 
23 25 27 29 31 33 35 37 39 41 
43 45 47 49 51 53 55 57 59 61 
63 65 67 69 71 73 75 77 79 81 
83 85 87 89 91 93 95 97 99 
Process finished with exit code 0
​

结论 --- 模块自行测试如下:

print(__name__)
​
​
def fun_prime(num):
 '''
 判断输入的数字是否为素数
 :param num: 输入的数字
 :return: 0 表示该数不是素数 1 表示该数为素数
 '''
 if num < 2:
     print('输入错误,请输入大于2的整数')
 else:
     for i in range(num):
         if num % 2 == 0:
             return 0
     else:
         return 1
​
​
# 进行函数测试
if __name__ == '__main__':  # 若果是当前页面执行
 if fun_prime(5):
     print('素数')
 else:
     print('平数')
#此时不需要其他程序就可以在文本文件中执行测试

注意:

        _ _ name _ _ --- 一般用于自定义模块测试,还可以用于编写程序的入口:

def main():
    #执行的功能
    #打印的功能
    #增删的功能
​
#调用
if _ _name_ _ == '_ _main_ _'

9.模块搜索目录

当使用import语句导入模块时,默认情况会按照以下情况查找

  1. 执行Python文件的当前目录
  2. Pythonpath(环境变量)
  3. Python解释器安装目录

通过代码查看 --- sys.path --- 检索目录

import sys
​
print(sys.path)
​
结果:
['E:\\pythontext', 'E:\\pythontext', 'E:\\pthon\\PyCharm 2020.1\\plugins\\python\\helpers\\pycharm_display', 'E:\\pthon\\python39.zip', 'E:\\pthon\\DLLs', 'E:\\pthon\\lib', 'E:\\pthon', 'E:\\pythontext\\venv', 'E:\\pythontext\\venv\\lib\\site-packages', 'E:\\pthon\\lib\\site-packages', 'E:\\pthon\\PyCharm 2020.1\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
​

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
八天Python从入门到精通是一套针对Python编程语言的学习教程,旨在帮助初学者快速掌握Python的基础知识并逐步深入学习高级主题。以下是该教程的大致内容: 第一天:Python基础 - Python的历史和特点 - 安装Python环境 - 变量和数据类型 - 运算符和表达式 - 条件语句和循环语句 第二天:函数和模块 - 函数的定义和调用 - 函数参数和返回值 - 模块的导入和使用 - 常用内置函数的介绍 第三天:数据结构 - 列表、元组、字典和集合的使用 - 列表和字典的常用操作方法 - 列表推导式和字典推导式 第四天:文件操作和异常处理 - 文件的读写操作 - 异常的处理和捕获 - 上下文管理器的使用 第五天:面向对象编程 - 类和对象的概念 - 类的定义和实例化 - 继承、多态和封装的概念 - 魔术方法和属性装饰器 第六天:模块管理 - 模块的创建和使用 - 的创建和使用 - 导入模块的方法 - 第三方库的安装和使用 第七天:网络编程和数据库操作 - 网络编程的基本概念 - 使用socket进行网络通信 - 数据库的连接和操作 - SQL语句的执行和结果处理 第八天:高级主题 - 多线程和多进程编程 - 正则表达式的使用 - 异步编程和协程 - Python的Web开发框架介绍 以上是八天Python从入门到精通教程的大致内容,通过学习这些内容,你将能够掌握Python的基础知识并具备一定的编程能力。如果你有任何关于Python的问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White乄joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值