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

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

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

心蓝

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

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

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

  • python开发环境搭建

  • 基本数据类型

  • 程序流程控制

  • 函数与代码复用

  • 面向对象

  • 模块和包

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

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

模块

# 模块

在编写程序的过程中把所有代码都写到一个脚本中肯定不便于维护和使用。

python有一种方法可以把定义放在一个脚本里,并在其他脚本或解释器的交互式实例中使用他们。

这样的脚本被称为模块。

模块中的定义可以导入到其他模块中。

案例:

在当前目录下创建一个名为fibo.py的文件,文件内容如下:

# fibo.py
# 斐波那契数列 模块

def fib(n):    # 打印斐波那契数列到数n
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a+b
    print()

def fib2(n):   # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a+b
    return result
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 导入模块

通过关键字import可以在代码中导入写好的模块,语法如下:

import 模块名
1

现在,再在当前目录下创建一个名为main.py的文件。然后编写如下代码:

# main.py
import fibo

fibo.fib(10)
1
2
3
4

运行后输出:

0 1 1 2 3 5 8 
1

语句import fibo会在当前脚本中导入变量fibo,它表示模块fibo,然后通过fibo.fib就可以访问模块fibo中定义好的函数,然后执行。

import语句有一个变体,它可以把模块中的名称(函数,变量,类名)直接导入到当前模块的变量表里,语法如下:

from 模块名 import 名称
1

修改main.py文件里的代码如下:

# main.py
from fibo import fib, fib2

fib2(10)
1
2
3
4

运行后输出:

[0, 1, 1, 2, 3, 5, 8]
1

语句from fibo import fib, fib2,直接将模块fibo中的函数fib,fib2导入到当前模块中,所以在后面的代码中就可以直接通过fib,fib2访问模块fibo中对应的函数。

还有一个变体可以导入定义的所有名称,语法如下:

from 模块名 import *
1

这会导入模块中所有非以下划线开头的名称。通常不建议使用这个功能,因为它在解释器中引入了一组未知的名称,有可能会覆盖你之前定义过的东西,也会导致代码的可读性差。不过在交互式运行时,为了节省打字可以这么用。

有时,需要导入的定义名称可能和当前模块中的定义重名,可以通过下面的变体自定义导入名称:

import 模块名称 as 新名称
from 模块名称 import 名称 as 新名称
1
2

例如:

>>> import fibo as fib
>>> fib.fib(10)
0 1 1 2 3 5 8
>>> from fibo import fib as fibonacci
>>> fibonacci(10)
0 1 1 2 3 5 8 
1
2
3
4
5
6

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

上次更新: 2022/12/23, 19:09:35
自省与反射机制
包

← 自省与反射机制 包→

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