Python基础学习(10)模块与包


Python基础学习(1)基本知识
Python基础学习(2)序列类型方法与数据类型转换
Python基础学习(3)进阶字符串(格式化输出)
Python基础学习(4)散列类型(无序序列)
Python基础学习(5)流程控制
Python基础学习(6)函数基础与函数参数
Python基础学习(7)函数作用域与名称空间.
Python基础学习(8)函数进阶-闭包/装饰器
Python基础学习(9)迭代器/生成器

一.模块

作用:
调用其他python文件里的代码 功能 可以更灵活的实现 使用 添加各种效果

变量 == 存储一个/多个数据
函数 == 存储一句/多句代码
模块 == 我全都要

当我们导入一个模块后 就可以使用这个模块里的所有代码:里面的变量 里面的函数

什么是模块?
模块:就是一个Python文件
当python文件作为一个模块的时候 不加.py的后缀才是模块名(text.py–模块名 text)

1.模块分类

①内置模块(标准库)

python自带的 不需要下载 直接使用
time 时间模块
random 随机数

②第三方模块

由其他开发技术人员开发 需要下载 才可以使用
pygame 游戏开发
requests 爬虫

③自定义

2.模块下载

pip – Python自带的下载器
install – 下载
uninstall – 卸载

注意:pip 没有设置Python环境变量的话 那么这个配置就是找不到 所以下载Python的时候要记得勾选配置环境变量
python默认下载库就是使用pip 如果Python环境没有配置好 pip就使用不了

语法

①下载

pip install 模块名
pip install requests
pycharm下载模块 (首先选中cmd下载 其次在pycharm下载)
settings – projoct – + – install
(有时候pc下载会在虚拟环境中 不会在你的Python环境里 重新创建项目文件夹的话就不会访问到里面)
(在cmd里面下载全部都是下载到自己python环境中 这样不管如何创建新的目录都能访问到)

②卸载

pip uninstall 模块名
pip uninstall requests

③更新pip

有时候pip的版本太低 新的库升级不了
python -m pip install --upgrade pip

④通过cdn代码加速

下载第三方模块:
pip install 库名 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pywin32 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple

⑤查看模块

pip list

2.模块使用方法

模块使用流程:
1.导入模块
2.使用模块

导入模块:
import 模块名
import time
使用模块:
print(模块名.变量名) # 输出模块里的变量

单个导入
from 模块 import 函数名
from 模块 import 变量名
优点: 避免不必要的内存资源开销 减少代码量
缺点: 可能会出现同名覆盖的情况

当模块名过长不好记 可以通过as 给他取个名字
as: 取别名
import 模块名 as 别名
import win32process as pro

from time import sleep as T
print('还有10s')
T(10)
print('导入成功')

3.模块进阶使用

①模块的潜规则:

1.命名规范

 ①如果py文件是作为启动程序 那么命名比较宽松 ②如果py文件是作为模块来使用 最好采用全小写+下划线
user_login # 用户登录模块
user_register # 用户注册模块

2.导入规范
    不推荐一行导入多个模块
    例:import time, win32api, win32con # 不推荐

    荐:
    import win32con
    import win32api
    import win32gui

3.导入顺序规范 中间空行
    1.首先导入内置模块
    2.然后导入第三方模块
    3.最后导入自定义模块
  import time
  import sys

  import win32gui
  import win32api

  import demo

②如何区分python文件是程序/模块:

Python中有个__name__方法 他能够获取.py的文件执行模块
如果是以程序身份执行,__ name__为__main__
如果是以模块身份执行,__name__为模块名

③python中通过main来判断文件是属于程序还是模块:

一个python文件,他的name为main 那他就是作为启动程序

if name == ‘main’:
代码块 # 里面的内容只有文件是以启动程序运行时才会运行
在pc里输入main按下回车/tab键会自动生成

print(__file__) # 获取文件所在位置
# example.py

def hello():
    print('Hello from the module!')

# 判断是否作为程序运行
if __name__ == '__main__':
    print('This file is being run as a program.')
    hello()

print(__file__)  # 获取文件所在位置


当你直接运行 example.py 文件时,if __ name__ == ‘main’: 下面的代码块会被执行,因为此时 __ name__ 的值为 ‘__ main__’。而当你在另一个 Python 文件中导入 example.py 作为模块时,if __ name__ == ‘__ main__’: 下面的代码块不会被执行。

这种方式可以让你在同一个文件中既可以定义模块中的函数、类等内容,又可以编写一些在该文件作为程序运行时才执行的代码。

二.包

包的本质就是模块

模块 – 文件
包 – 文件夹

1.包的概念:

把一些功能相同的模块 放到同一个文件夹里 进行统一管理 文件夹里有个配置文件__init__.py

2.包的表现形式为:

一个文件夹中 有个叫__init__.py

3.包的创建方式:

pc中 -- 右键项目文件夹 -- new -- Python package

4.包的核心作用:

把一些功能相同/类似模块放到同一个文件夹里 并且这个文件夹有个叫__init__.py
在导入这个包里的模块时,init代码会自动执行
可以利用这个机制把init当成一个配置文件/使用说明
: 将功能模块放在一个文件夹里 将不同功能的模块进行分组管理

跨文件夹导入模块的操作
from 文件夹名 import 模块名

单个导入功能
from 文件夹名.模块名 import 函数名
from 文件夹名.模块名 import 变量名

三,程序断点 (debug)

一般情况下我们的程序是直接运行完毕 得到结果 我们看到的是结果 过程看不到
断点就是可以设置一个起点 从起点开始 让程序一步步执行 让我们可以看到里面的数据 运行的实时情况 并进行对应调试

def main():
    for i in range(1, 6):
        print(f"当前数字是:{i}")
        if i == 3:
            breakpoint()  # 在 i 等于 3 时设置断点

    print("循环结束")

if __name__ == "__main__":
    main()

  • 27
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只特立独行猪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值