105. 模块简介

  Python的模块是一系列功能的集合体,分为三种:

  1. 内置模块:Python解释器自带的模块;
  2. 第三方模块:Python内置的标准库之外的通用模块;
  3. 自定义模块:用户自己编写的,一个Python文件就可以看作是一个模块。
      内置和第三方模块可以直接调用,极大提高了开发效率。
      在大的工程项目中,会有多个程序文件,把常用的功能放到一个模块中供其他文件调用,可以减少代码冗余,程序组织结构更加清晰。
      在《104. 列表的浅拷贝和深拷贝》中深拷贝使用了内置模块copy中的方法copy.deepcopy(),使用此方法前,需要导入模块,即import copy。
      import是关键字,专门用于导入模块。
      在使用模块中的方法时,往往要使用模块名加前缀,如果模块名比较长,为了简便,在导入模块的同时,可以给它取一个简单的别名,这需要另外用到关键字as,实例如下:
import matplotlib as plt

  这样,调用模块中的方法时,前缀只需用plt。

plt.plot()  # 调用matplotlib模块中的plot方法

  如果只用到模块的一部分功能,也可以只导入模块的子模块或方法,如测试列表深拷贝的程序只用到了copy模块的deepcopy方法,可以使用下面的语句进行导入:

from copy import deepcopy

  from也是关键字。之后使用deepcopy方法就不必加copy前缀了。

list3 = deepcopy(list1)  # list3是list1的深拷贝结果

  可见,对模块的导入有三种方式:

  1. import xxx
  2. import xxx as y
  3. from xxx import zzz

  下面的例子,调用math模块,优化算法。

import math
x = int(input("请输入一个不小于2的整数:"))
isPrimeNumber = True
y = int(math.sqrt(x)) + 1  # 为提高效率,超过x的平方根的整数,没有必要进行检测。
for i in range(2, y):
    if x % i == 0:
        isPrimeNumber = False  # 如果在2~x的平方根的范围内,x有被整除的情况,则x不是质数
        break
if isPrimeNumber:
    print(x, "是质数。")
else:
    print(x, "不是质数。")

  代码分析:上面的示例,通过使用math模块中的取平方根函数sqrt,提高了检测质数功能代码的效率。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值