python- - - - -模块

模块

模块的概念

模块是 python 程序架构的一个核心概念

每一个以扩展名 py 结尾的 python 源代码文件都是一个模块
模块名也是一个标识符,需要符合标识符的命名规则
在模块中定义的全局变量、函数、类都是提供给外界直接使用的的工具
模块就好比是工具包,要想使用这个工具包中的工具,就需要先导入这个工具

导入方式:

推荐使用

import 模块名1
import 模块名2

导入之后可以通过 模块名. 使用模块提供的工具- - - - -全局变量、函数、类

可以使用 as 指定模块的别名
如果模块的名字太长,可以使用 as 指定模块的名称,以方便在代码中使用

import 模块名1 as 模块别名

注意模块别名需要满足大驼峰命名法

from … import 导入

如果希望从某一个模块中导入部分工具,可以使用 form … import 的方式
import 模块名 是一次性把模块的所有工具全部导入,并且通过 模块名/别名 访问

# 从模块导入某一个工具
from 模块名1 import 某一个工具

导入之后
不需要通过 **模块名.**访问,可以直接使用模块提供的工具- - - - -全局变量、函数、类

注意:
如果两个模块,存在同名函数,那么后导入的模块的函数会覆盖掉先导入的函数

在开发时,import 代码应该统一写在代码的顶部,更容易及时发现冲突
一旦发现冲突,可以使用 as 关键字 给其中一个工具起一个别名

from ... import *
# 从模块导入所有工具,但不推荐使用
from 模块名1 import *

因为函数重名并没有任何的提示,出现问题不好排查

模块的搜索顺序

python 的解释器在导入模块时:
1.搜索当前目录指定模块名的文件,如果有就直接导入
2.如果没有,再搜索系统目录

示例

import random

# 生成一个0~10 的随机数
rand = random.randint(0, 10)

print(rand)

注意:
如果在当前目录下,存在一个 random.py 的文件,程序就无法正常执行

这个时候 python 解释器回家在当前目录下的 random.py 而不会加载系统的 random 模块

原则- - - - -每一个文件都应该可以被导入的

一个独立的 python 文件就是一个模块
在导入文件时,文件所有没有任何缩进的代码都会被执行一遍

__name__

可以做到测试模块的代码只在测试情况下被运行,而在被导入时不会被执行

因为__name__是一个 python 的一个内置属性,记录着一个字符串,如果是被其他文件导入的,__name__就是模块名,如果是当前执行的程序,__name__就是__main__

概念

包是一个包含多个模块的特殊目录
目录下有一个特殊的文件__init__.py
包的命名方式和变量名的方式一致

使用 import 包名 可以直接一次性导入包中的所有的模块

__init__.py

pip 安装第三方模块

第三方模块通常是指由 知名的第三方团队开发的 并且被程序员广泛使用的 python 包/模块

例如:pygame 就是一套非常成熟的游戏开发模块

pip 是一个现代的、通用的 python 包管理工具
提供了对 python 包的查找、下载、安装、卸载等功能

安装和卸载命令如下:

# 将模块安装到 python 2.x 环境
sudo pip install pygame
sudo pip uninstall pygame # 卸载

# 将模块安装到 python 3.x 环境
sudo pip3 install pygame
sudo pip3 uninstall pygame
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值