Python 语言基础六_模块的概念及使用

本文介绍了Python中的模块概念,包括import语句和from...import语句的使用,以及如何组织模块。模块是Python代码的独立部分,用于代码重用。import用于引入整个模块,from...import则能选择性导入模块内的特定函数或类。此外,还探讨了命名空间(package)的概念,以及绝对导入和相对导入的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在程序中引用模块,通过模块来调用,那么是什么?其本质就是一个Python的源程序以.py结尾的代码文件,可以将代码量较大的程序分割成彼此独立的代码片段,可以是变量、函数或者类的定义 。一个文件被看作是一个独立的模块,一个模块也可以被看作是一个文件,在模块中,模块的名称(作为字符串)可用作全局变量name的值。模块的文件名就是模块的名字加上扩展名.py。python允许“导入”其他模块以实现代码重用。模块分为内置模块、自定义模块和第三方模块。

一、import语句

Python中要引入模块,使用import语句,格式如下:

 import <模块名>

注意:

如果是直接引入模块,在使用模块中函数或属性(常量、变量)时一定要指出函数或属性的所属模块,格式为:<模块名>.<函数或属性>,否则会出错。 

 >>> import random
 >>>
 >>> num = random.randint(1, 100)      #使用random模块中的randint()函数
 >>> print(num)
 17

二、from…import语句

如果只想引入模块中的某个函数、类或属性,使用from…import语句,格式如下:

from <模块名> import <函数名、变量名或类名>

举例:

 >>> from random import randint
 >>>
 >>> num = randint(1, 100)
 >>> print(num)
 37

在使用from...import语句从模块中引入函数时,为避免冲突和便于理解,可以使用as语句给引入的函数换个名字,如下:

from <模块名> import <函数名或变量名> as <自定义名>

举例:

>>> from random import randint as ra
>>>
>>> num = ra(1, 100)
>>> print(num)
56

三、组织模块

随着程序设计的复杂性,定义模块时需要使用命名空间以避免名称冲突,命名空间被称为“包”(package),一个包就是放到一个文件夹里的模块集合。包的名称即为文件夹的名称,创建包时,需要将一个名为__init__.py的文件(通常为空的)放在该包的文件夹中,若忘记创建这个文件,则无法从该包的文件夹中导入需要的模块。

在工作目录中,将一个模块放到了一个名为auth的包里,而工作目录同样包含一个main.py文件用于启动程序,在auth包里增加一个users.py模块文件,再增加一个admin包和对应的authentication.py模块文件,文件夹的层次结构如下:

mypy/
    main.py
    auth/
        __init__.py
        users.py
        admin/
            __init__.py
            authentication.py

当在包之间导入模块时,有两种方式:绝对导入和相对导入。

绝对导入

import auth.users       #绝对导入需要指明模块的完整路径
或者
from auth import users

import语句使用点号作为分隔符来分隔包或者模块。

相对导入

from . import users     #设定编辑auth包的__init__.py文件,前面这个点号说明使用当前包里的users模块
from .. import users    #设定编辑admin包的__init__.py文件,前面两个点号说明使用admin包的父包auth里的users模块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值