17.模块

1.模块

      Python最大的魅力之一就是拥有丰富的第三方模块,用户在编程时可以直接调用模块来实现强大的功能,无须自己编写复杂的大代码。

      如果要在多个程序中重复实现某一个特定功能,那么能不能直接在新程序中调用自己或他人已经编写好的代码,而不用再新程序中重复编写功能类似的代码呢?答案是肯定的,这就要用到Python中的模块。模块也可以称为库或包,简单来说,每个以“.py”为扩展名的文件都可以称为一个模块。Python的模块主要分为下面三种。

①内置模块

内置模块是指Python自带的模块,如sys、time、math等

②第三方模块

      通常所说的模块就是指开源模块,这类模块是由一些程序员或企业开发并免费分享给大家使用的,通常能实现某一个大类的功能。例如,xlwings模块就是专门用于控制Excel的模块。
      
③自定义模块

      Python用户可以将自己编写的代码或函数封装成模块,以方便在编写其他程序时调用,这样的模块就是自定义模块。需要注意的是,自定义模块不能和内置模块重名,否则将不能再倒入内置模块。

2.导入模块

当我们需要使用模块的时候,只需使用 import 语句导入对应的模块即可。


例如:

①我们新建一个Python文件,取名为new_welcome.py
②在new_welcome.py文件里写入print('祝各位万事如意')
③在main.py文件里写入import new_welcome并运行代码。


我们使用 import 模块名(不需要 .py 后缀)导入模块,相当于我们在 main.py 里借用并运行了 new_welcome.py 文件里的代码,因此运行结果是 祝各位万事如意。你可以理解为 Python 会将 import new_welcome 语句替换new_welcome.py 里的代码。


例:

# other.py
pi = 3.14159265359

def half(x):
  return x / 2

# main.py
import other  # 导入 other 模块

print(other.pi)
# 输出:3.14159265359

print(other.half(4))
# 输出:2.0

我们可以看到,当导入模块后,要使用模块中的变量、函数,需要通过 模块名.变量名 和 模块名.函数名() 的方式。. 表明了从属关系,表示某个模块里面的某个变量或函数。

import 语句还有一种用法是 import ... as ...,比如我们觉得 other 这个模块名太长,就可以用 import other as o,相当于给 other 取了一个别名为 o,之后我们就可以使用 o 来替代 other。例:


# other.py
pi = 3.14159265359

def half(x):
  return x / 2

# main.py
import other as o  # 导入 other 模块

print(o.pi)
# 输出:3.14159265359

print(o.half(4))
# 输出:2.0
    

数据分析常用的 pandas 和 numpy 常被简写成 pd 和 np,所以你会看到 import pandas as pd 和 import numpy as np 这样的写法。

另外,当我们需要同时导入多个模块时,可以用逗号隔开。比如 import a, b, c 可以同时导入 a.py、b.py 和 c.py 三个文件。

3.from语句导入法

      有些模块中的函数特别多,用import语句全部导入后会导致程序运行速度慢,将程序打包后得到的文件体积也会很大,如果只需要使用模块中的少数几个函数或者变量,就可以采用from语句导入法,这种方法可以指定要导入的函数或参数。from语句的基本语法格式如下:

from 模块名 import 函数名或参数

如:
from math import sqrt    #导入math模块中的sqrt函数

from turtle import forward, backward, right, left    #导入turtle模块中的多个函数

      使用from语句导入时,如果将函数名用通配符“*”代替,写成“from 模块名 import *”,则和import语句导入法一样,会导入模块中的所有函数。

如:
from math import *    #导入math模块中的所有函数

需要注意的是:使用 from ... import ... 的方式导入就不能再用 模块名.变量名 和 模块名.函数名 的方式访问模块内的变量或函数。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值