首页 > 编程语言 >Python入门教程 —— 模块和包

Python入门教程 —— 模块和包

时间:2025-01-05 18:58:39浏览次数:8  
标签:函数 Python 入门教程 导入 模块 引入 import os

1.导入模块

Python中的模块

在Python中有一个概念叫做模块(module)。

说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块。

比如我们经常使用工具 random,就是一个模块。使用 import random 导入工具之后,就可以使用 random 的函数。

导入模块

导入模块有五种方式

  • import 模块名
  • from 模块名 import 功能名
  • from 模块名 import *
  • import 模块名 as 别名
  • from 模块名 import 功能名 as 别名

下面来挨个的看一下。

import

在Python中用关键字import来引入某个模块,比如要引入系统模块 math,就可以在文件最开始的地方用import math来引入。

语法:

import 模块1,模块2,...  # 导入方式

模块名.函数名()  # 使用模块里的函数

想一想:

为什么必须加上模块名调用呢?

答:

因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数。所以如果像上述这样引入模块的时候,调用函数必须加上模块名

示例:

import math

#这样才能正确输出结果
print math.sqrt(2)

#这样会报错
print(sqrt(2))

from…import

有时候我们只需要用到模块中的某个函数,只需要引入该函数即可,此时可以用下面方法实现:

from 模块名 import 函数名1,函数名2....

不仅可以引入函数,还可以引入一些全局变量、类等

注意:

通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名称函数的时候,后面一次引入会覆盖前一次引入。也就是说假如模块A中有函数function( ),在模块B中也有函数function( ),如果引入A中的function在先、B中的function在后,那么当调用function函数的时候,是去执行模块B中的function函数。

例如,要导入模块fib的fibonacci函数,使用如下语句:

from fib import fibonacci

注意:

  • 不会把整个fib模块导入到当前的命名空间中,它只会将fib里的fibonacci单个函数引入

from … import *

把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:

from modname import *

注意:

  • 这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。

as 别名

In [1]: import time as tt  # 导入模块时设置别名为 tt

In [2]: time.sleep(1)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-07a34f5b1e42> in <module>()
----> 1 time.sleep(1)

NameError: name 'time' is not defined

In [3]: 

In [3]: tt.sleep(1)  # 使用别名才能调用方法

In [4]: 

In [4]: from time import sleep as sp  # 导入方法时设置别名

In [5]: sleep(1)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-5-82e5c2913b44> in <module>()
----> 1 sleep(1)

NameError: name 'sleep' is not defined

In [6]: 

In [6]: sp(1)  # 使用别名才能调用方法

In [7]:

2.常见系统模块的使用

常见系统模块

为了方便程序员开发代码,Python提供了很多内置的模块给程序员用来提高编码效率。常见的内置模块有:

os模块
sys模块
math模块
random模块
datetime模块
time模块
calendar模块
hashlib模块
hmac模块
copy模块
uuid模块</uuid>

OS模块

OS全称OperationSystem,即操作系统模块,这个模块可以用来操作系统的功能,并且实现跨平台操作。

import os
os.getcwd()  # 获取当前的工作目录,即当前python脚本工作的目录
os.chdir('test') # 改变当前脚本工作目录,相当于shell下的cd命令
os.rename('毕业论文.txt','毕业论文-最终版.txt') # 文件重命名
os.remove('毕业论文.txt') # 删除文件
os.rmdir('demo')  # 删除空文件夹
os.removedirs('demo') # 删除空文件夹
os.mkdir('demo')  # 创建一个文件夹
os.chdir('C:\\') # 切换工作目录
os.listdir('C:\\') # 列出指定目录里的所有文件和文件夹
os.name # nt->widonws posix->Linux/Unix或者MacOS
os.environ # 获取到环境配置
os.environ.get('PATH') # 获取指定的环境配置

os.path.abspath(path) # 获取Path规范会的绝对路径
os.path.exists(path)  # 如果Path存在,则返回True
os.path.isdir(path)  # 如果path是一个存在的目录&

标签:函数,Python,入门教程,导入,模块,引入,import,os
From: https://blog.csdn.net/yixiazhiqiu/article/details/144846955

相关文章

  • Python学习(五)——配套《PyTorch深度学习实战》
    1.Python的流程控制tips:我使用的Python3.9版本,if、else是要加:的Python的流程控制主要通过条件语句和循环语句来实现,它们允许程序根据特定的条件执行不同的代码块。以下是Python中常用的流程控制结构:条件语句(if-elif-else)条件语句允许程序根据条件的真假来选择执行不同的代......
  • 基于Python+flask的豆瓣音乐聚类分析可视化
    一、项目概述项目名称:豆瓣音乐聚类分析可视化项目简介:该项目基于Flask框架开发,用于提供音乐数据分析与可视化功能,涉及用户管理、音乐数据爬取、聚类分析及其可视化展示。系统包含用户和管理员角色,提供丰富的页面功能。主要功能:用户登录与注册音乐数据展示与搜索管理......
  • 基于Python+flask的电影数据可视化分析
    项目概述该项目基于Python的Flask框架开发,用于电影数据的分析与可视化,主要功能包括用户管理、数据采集与分析、可视化展示。运行环境开发语言:Python3.8+主要依赖库:Flask(Web框架)PyMySQL(数据库连接)BeautifulSoup(HTML解析)Jieba/NLTK/SnowNLP(自然语言处理)W......
  • 孕妇地区推荐菜品助手(appinventor+掌控板esp32+su-03t语音模块)
    一、系统概述该系统主要由APP端和掌控板两部分组成,并通过连接多个硬件设备实现功能。系统利用云计算和物联网技术,能够实现用户与餐饮设备之间的高效交互。系统功能地区选择与菜品推荐用户可以通过APP选择所在地区,系统会根据所选地区在掌控板上显示当地的菜品信息。当......
  • YOLOv11改进策略【Neck】| ArXiv 2023,基于U - Net v2中的的高效特征融合模块:SDI
    一、本文介绍本文聚焦于利用U-Netv2中的SDI模块优化YOLOv11的目标检测网络模型。SDI模块相较于传统模块独具特色,它融合了先进的特征融合思想,借助精心设计的结构,在确保计算资源高效利用的前提下,巧妙地融合不同层级特征的语义信息与细节,实现特征的全方位增强。在应用于YOL......
  • YOLOv11改进策略【Neck】| PRCV 2023,SBA:特征融合模块,描绘物体轮廓重新校准物体位置,解
    一、本文介绍本文主要利用DuAT中的SBA模块优化YOLOv11的目标检测网络模型。SBA模块借鉴了医疗图像分割中处理边界信息的独特思路,通过创新性的结构设计,在维持合理计算复杂度的基础上,巧妙融合浅层的边界细节特征与深层的语义信息,实现边界特征的精准提取与语义信息的有效......
  • Python数据结构与算法分析 第3版PDF、EPUB免费下载
    适读人群:1.希望学习数据结构和算法的Python用户;2.计算机专业的学生和老师。只有洞彻数据结构与算法,才能真正精通Python!热门计算机科学教材,华盛顿大学、北京大学等多家高校采用,让你在代码编写的战场上所向披靡!电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版......
  • python毕设 体检套餐定制系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于体检套餐定制系统的研究,现有研究主要集中在体检系统的基础功能实现方面,如单纯的预约或报告查询等1。专门针对根据不同用户(包含不......
  • python毕设 网盘系统的设计与实现程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着信息技术的飞速发展,数据存储和管理需求日益增长。关于网盘系统的研究,现有研究主要以商业网盘的运营模式、大规模数据存储技术等为......
  • python期末考试必考40个基础编程题
            该40个基础编程涉及领域广泛,适合各专业,金融,数学,算法,数据结构,可视化等多个领域,涵盖了pyth基础语法,列表操作,字符串操作,数据类型转换,循环结构,判断结构,函数定义,变量声明,class类编程等基础知识。        运行代码无需环境配置,只要安装python成功,复制代码即......