心蓝的博客 心蓝的博客
首页
  • 零基础

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

    • django框架
    • drf
技术
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

心蓝

人生苦短,我用python
首页
  • 零基础

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

    • django框架
    • drf
技术
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • 编程基础

  • python开发环境搭建

  • 基本数据类型

  • 程序流程控制

  • 函数与代码复用

  • 面向对象

  • 模块和包

    • 模块
    • 包
    • 第三方库
  • 文件IO操作

  • python零基础入门
  • 模块和包
心蓝
2022-12-23

包

# 包

模块的问题解决了代码过长不便维护的问题,但是如果不同的人编写的模块名相同怎么办?为了变量模块名冲突,python又引入了用目录来组织模块的方法,称为包。

例如:

为了避免fibo.py与其他模块冲突,我们可以选择一个顶层包名,比如my_fibo。

创建名为my_fibo的文件夹,将模块fibo.py放入该文件夹下。

然后通过import 包名.模块名的方式导入,只要顶层包名不起冲突,模块就不会起冲突。

现在fibo模块的引入就是这样的:

>>> import my_fibo.fibo
1

但是这样导入引用时要用全名

>>> my_fibo.fibo.fib(10)
0 1 1 2 3 5 8
1
2

也可以结合from以from 包名 import 模块名的形式来引用

>>> from my_fibo import fibo
1

这样就可以以模块fibo来调用其中的函数

>>> fibo.fib(10)
0 1 1 2 3 5 8 
1
2

也可以以from 包名.模块名 import 名称的形式直接导入所需函数和变量

>>> from my_fibo.fibo import fib
1

这样可以直接调用fib函数

>>> fibo(10)
0 1 1 2 3 5 8
1
2

注意:每一个包目录下一般都有一个__init__.py文件(python2中是必须的),这个文件是包的入口文件,导入包时,会自动执行这个文件中的代码。

本文完,感谢你的耐心阅读,如有需要可加我微信,备注「博客」并说明原因,我们一起进步,下次见。

上次更新: 2022/12/23, 19:09:35
模块
第三方库

← 模块 第三方库→

最近更新
01
requests让接口测试如此简单 原创
03-31
02
最简明的python正则教程
03-30
03
pycharm激活码
12-30
更多文章>
Theme by Vdoing | Copyright © 2019-2025 心蓝
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式