Python3基础:06_模块的定义与导入

0.前言

  这篇文章将总结Python3中模块的知识,包括模块的基本概念和模块的定义、导入及应用。



1.模块的基本概

①模块概念:
  模块是一个包含所有你定义的函数和变量的文件,其后缀名是 .py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。


②概念理解:
  模块本质是一个后缀为.py的文件,这个文件里包含了一个或多个函数方法,我们可以通过导入模块(文件),然后使用模块中的方法,模块名等于文件名,类似于C语言中的头文件吧,这是我的见解。


③模块分类:系统内置模块、自定义模块、第三方开元模块。

  • 系统内置模块:
      系统自带模块,不需要另行安装,直接可以用,如sys、time、random等。
  • 自定义模块:
      由用户自己定义,对某段逻辑或某些函数进行封装后供其他函数调用。注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。
  • 第三方开元模块:
      这部分模块可以通过pip install进行安装,有开源的代码,如requests模块等。


2.自定义模块

  正如前面所说的,模块是一个 .py文件,里面主要是分装一些函数方法,要定义一个模块的话,首先创建一个 .py文件,然后在这个文件中写入函数方法就行了。

下面举一个例子来认识Python中的模块:

# Filename:text.py
def Cmp(a, b):
    if a > b:
        print(a)
    else:
    	print(b)
    return
    

  正如你所看到的,把以上代码放到一个叫text.py的文件中就可称之是一个名为text的模块。
  需要注意的是:自定义模块需要创建在同一项目中,不然解释器找不到。



下面谈论模块的导入调用,这才是重点。



3.模块的调用

  • 模块导入语句:import和from…import,需要放在代码行的顶端。
  • 当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
  • 搜索路径是一个解释器会先进行搜索的所有目录的列表。

①import导入模块
  用import直接导入模块,如果需要导入多个模块可以用逗号隔开,如下程序.

import random, time

i = random.randint(1, 10)
print("产生的随机数为:", i)
j = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("当前时间为:", j)


"""
# 这是一个猜数字游戏

# 导入random模块
import random
# random中的randint方法,产生一个随机数
Computer = random.randint(1, 10)
while True:
    player = int(input("请输入您猜的数字:"))
    if player < Computer:
        print("您猜的数字太小了,再猜猜!")
    elif player > Computer:
        print("您猜的数字太大了,再猜猜!")
    elif player == Computer:
        print("恭喜您,猜对了,小花花送给您!")
        break
 """

运行结果:
产生的随机数为: 7
当前时间为: 2019-05-01 21:44:51

上面还附带了一个我的入坑程序,挺好玩的,哈哈~~
注意:
  import导入的模块调用功能时,需要用模块名来调用方法。如:random.randint(1,10)


②from…import
  区别于import直接导入,用from…import导入可以只导入模块的部分方法,并直接调用方法,如下程序:

from random import randint,randrange
i = randint(1, 5)
j = randrange(1, 10, 2)

注意:
  上面的程序就只调用了random中的randint和randrange两个方法,后面的程序也只能用这两个方法,而不能用其他方法。


③from…import*

  这个语句表示导入的模块的全部方法,并可以直接调用函数方法而不需要用模块来调动方法,区别与用import语句直接导入模块。

from random import*
i = randint(1, 5)
j = randrange(1, 10, 2)

注意:
  这种方法可以减少代码长度,但前提是要对导入模块中的方法十分熟悉,不然还是用import直接导入模块,再用模块来索引成员方法。



  Python的第三方开元模块十分强大,善于使用模块也能降低开发难度。


时间:2019年5月1日21:01:14


后续学习中遇到的一些模块总结


1.随机数random模块

方法 功能
seed(x) 给随机数一个种子值,默认随机种子是系统时钟
random() 生成一个[0,1.0]之间的随机小数
uniform(a,b) 生成一个a到b之间的随机小数
randint(a,b) 生成一个a到b之间的随机整数
randrange(a,b,c) 随机生成一个从a开始到b以c递增的数
choice(< list >) 从列表中随机返回一个元素
shuffle(< list >) 将列表中的元素随机排序(打乱)
sample(< list >, k) 从指定的列表中随机获取k个元素

猜你喜欢

转载自blog.csdn.net/qq_44713454/article/details/89739816