当前位置: 首页 > news >正文

Python的模块与工具包

模块

模块是一个Python文件,以 .py结尾。模块能定义函数,类和变量,模块里也能包含可执行的代码。

作用

python 中有很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用 time 模块。

我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。

模块就是一个 Python 文件,里面有类、函数、变量等,我们可以拿过来也给你(导入模块去使用)

导入方式

[from 模块名] impot [模块 | 类 | 变量 | 函数 | *] [as 别名]

import 模块名

基本语法

import 模块名

import 模块1,模块2

模块名.功能名()

# 使用 import 导入 time 模块使用 sleep 功能(函数)
import time
print("你好")
time.sleep(5) # 通过. 就可以使用模块内的全部功能(类、函数、变量)
print("我好")

from 模块名 import 功能名

基本语法

from 模块名 import 功能名

功能名()

# 使用 form 导入 time 的 sleep 功能(函数)
from time import sleep
print("你好")
sleep(5) #
print("我好")

**from 模块名 import ***

基本语法

from 模块名 import *

功能名()

# 使用 * 导入 time 模块的全部功能
from time import *
sleep(5)

as 定义别名

基本语法

import 模块名 as 别名

from 模块名 import 功能名 as 别名

# 使用 as 给特定功能加上别名
import time as t
t.sleep(5)from time import sleep as s
s(5)

自定义模块

每个 Python 文件度可以作为一个模块,模块的名字就是文件的名字,也就是说自定义模块名必须要符合标识符命名规则。

# 导入自定义模块使用
# 第一种方式
import mymodel
mymodel.test(1,2)
# 第二种方式
from mymodel import test
test(1,2)# 导入不同模块同名功能
from mymodel import test
from mymodel1 import test
# mymodel1的test将mymodel的test覆盖了
test(2,1)

测试模块

# __main__变量
# __main__不会被导入执行
from mymodel import test

all变量

如果一个模块文件中有 all 变量,使用 from *** import * 导入,只能导入到这个列表的元素。

# __all__ 变量 控制 * 可以导入的方法
from mymodel import *
testa(2,1)
# testb(1,2) 导入失败

Python 模块太多了,会比较混乱,就需要通过 Python 包的功能来管理。

从物理上看,包就是一个文件夹,在该文件夹下包含了一个_init_.py 文件,该文件夹可用于包含多个模块文件。

从立即上看,包的本质依然是模块。

import my_packaeg.my_model1
import my_packaeg.my_model2
my_packaeg.my_model1.info_print1()
my_packaeg.my_model2.info_print2()
from my_packaeg import my_model1
from my_packaeg.my_model2 import info_print2
my_model1.info_print1()
info_print2()

安装第三方包

在 Python 程序的生态中,有许多第三方包(非 Python 官方),可以极大的帮助我们提高开发效率。

由于是第三方包,所以 Python 没有内置,需要安装他们才可以导入使用。

安装第三方包

第三方包的安装非常简单,只需要使用 Python 内置的 pip 程序即可。

pip install 包名称

或者

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

或者在 pycharm 右下角进行安装

http://www.lryc.cn/news/15904.html

相关文章:

  • 联合熵和条件熵
  • 华为OD机试真题Python实现【求最大数字】真题+解题思路+代码(20222023)
  • Python爬虫(10)selenium爬虫后数据,存入csv、txt并将存入数据并对数据进行查询
  • Python 之 Pandas 时间函数 time 、datetime 模块和时间处理基础
  • C语言学习及复习笔记-【5】C 运算符
  • 数仓、数据湖、湖仓一体、数据网格
  • C语言【atoi函数】
  • 一起学习用Verilog在FPGA上实现CNN----(八)integrationFC设计
  • 面试题总结
  • go进阶(1) -深入理解goroutine并发运行机制
  • mongodb 操作记录
  • JDBC简单的示例
  • Spring架构篇--2.3 远程通信基础--IO多路复用select,poll,epoll模型
  • python--matplotlib(4)
  • 【项目精选】城市公交查询系统(论文+视频+源码)
  • less、sass、webpack(前端工程化)
  • 解析Java中的class文件
  • 直播预告 | 企业如何轻松完成数据治理?火山引擎 DataLeap 给你一份实战攻略!
  • 华为OD机试真题Python实现【 磁盘容量】真题+解题思路+代码(20222023)
  • php调试配置
  • Spring架构篇--1 项目演化过程
  • 华为OD机试真题Python实现【斗地主 2】真题+解题思路+代码(20222023)
  • Intel SIMD: AVX2
  • Spring Cloud Nacos源码讲解(二)- Nacos客户端服务注册源码分析
  • 华为OD机试 - 停车场最大距离(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • RPC(2)------ Netty(NIO) + 多种序列化协议 + JDK动态代理实现
  • CAN现场总线基础知识总结,看这一篇就理清了(CAN是什么,电气属性,CAN通协议等)
  • 盘点全网好评最多的7款团队协同软件,你用过哪款?
  • Node-RED 3.0升级,新增特性介绍
  • 使用带有 Moveit 的深度相机来避免碰撞