python random模块导入_Python学习笔记(二十)—模块的导入

一、模块介绍

Python 提供了强大的模块支持,主要体现在Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。

那么,模块到底指的是什么呢?模块,英文为 Modules,用一句话总结:模块就是 Python 程序。换句话说,任何 Python 程序都可以作为模块。

模块可以比作一盒积木,通过它可以拼出多种主题的玩具,这与前面介绍的函数不同,一个函数仅相当于一块积木,而一个模块(.py 文件)中可以包含多个函数,也就是很多积木。所以模块和函数的关系如图 1 所示。

使用模块的好处:体现在提高代码的可重用性,当编写好一个模块后,只要编程过程中需要用到该模块中的某个功能(由变量、函数、类实现),无需做重复性的编写工作,直接在程序中导入该模块即可使用该功能。模块,可以理解为是对代码更高级的封装,即把能够实现某一特定功能的代码编写在同一个 .py 文件中,并将其作为一个独立的模块,这样既可以方便其它程序或脚本导入并使用,同时还能有效避免函数名和变量名发生冲突。

二、导入模块的实质

导入模块的语法格式:

1、import 模块名1 [as 别名1], 模块名2 [as 别名2],…:使用这种语法格式的 import 语句,会导入指定模块中的所有成员(包括变量、函数、类等)。不仅如此,当需要使用模块中的成员时,需用该模块名(或别名)作为前缀,否则 Python 解释器会报错。

2、from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2],…: 使用这种语法格式的 import 语句,只会导入模块中指定的成员,而不是全部成员。同时,当程序中使用该成员时,无需附加任何前缀,直接使用成员名(或别名)即可。

导入模块的实质:就是把导入的Python文件从头到尾执行一次。

举个例子:在同一目录下创建Model1.py和model2.py两个文件,内容如下:

model.py:

name = 'model1'

deff1():print('我是model1文件里面的f1')print('我是model1文件里面的print')#创建一个文件,并写入内容

f = open('test.txt','w')

f.write('我是model1模块文件里面写入的内容')

f.close()print('脚本执行完毕!')

model2.py

importmodel1 as m1

m1.f1()#调用model.py文件中的f1方法

print(m1.name) #调用model.py文件中的name变量

执行结果:

我是model1文件里面的print

脚本执行完毕!

我是model1文件里面的f1

model1

注意:模块命名时尽量不要使用系统已经定义的函数名称。否则在导入模块的时候系统会报错。比如在当前目录下创建random.py文件,然后在model2.py中import random模块并应用,这个时候会报如下错误:

importrandomprint(random.randint(1,9))

运行结果:

AttributeError: module 'random' has no attribute 'randint'

运行出现了错误。原因是在于Python在导入模块后,使用时寻找模块的顺序出现问题导致。那么究竟是怎么回事呢?下面就来说说导入模块后寻找模块的顺序

三、导入模块后寻找的顺序

1、先从当前目录下寻找是否有这个模块。

2、如果当前路径下没有,则去环境变量中查找这个模块。(这里的环境变量不是系统的环境变量,而是Python自己的环境变量)

到此可能有人会提出疑问,在同一路径下不是有random模块吗?为什么还会报错呢?这是因为在本目录下虽然定义了random模块,但是在掉用模块中的方法的时候去当前目录查找,没有randinit方法,所以就出现了如上错误。

四、环境变量的查看及添加

1、查看Python自己的环境变量,首先需要导入sys模块;具体如下:

importsysprint(sys.path) #打印python的环境变量目录

这样就能看到Python的环境变量值。

2、将模块加入到环境变量中

2.1 方法一:将需要导入的模块收到加入到环境变量中。

1、首先通过sys.path查找Python的环境变量值

2、然后将*.py模块放入对应Python环境变量,路径中的任何一个路劲下放即可

2.2 方法二:将导入模块路径,临时加入到Python编辑中

1、导入sys模块

2、执行sys.path.append(r'c:\xxx\xxx') #将路径加入到Python环境变量中去

注意:临时生效,将路径加入都Python环境变量的末尾,一旦重新打开工具或者Python端即失效

importsysprint(sys.path) #打印python的环境变量目录

sys.path.append(r'G:\xxx\Project\text') #临时生效,将路径加入都Python环境变量的末尾

print(sys.path) #打印python的环境变量目录

2.3 方法三:将导入模块路径,永久加入环境变量

1、导入sys模块

2、执行sys.path.insert(0,r'c:\xxx\xxx') #将变量加入环境变量;里面第一个参数是加入到环境变量中的那个位置(下标值),第二个参数是要加入的模块路径

importsysprint(sys.path) #打印python的环境变量目录

sys.path.insert(0,r'G:\code\Project\text') #将变量加入环境变量的开头,避免查询所有 的环境变量

2.4 方法四:使用pycharm工具来加环境变量

1、选择要加入模块的文件,右击>选择Mark Direc as>Sources Root 即可将文件加入Python的环境变量中

2、 如果取消的话,同样选择文件右击>选择Mark Direc as>unmark as Sources root

注意:如果A模块和B模块在同一目录下,那么A模块导入B模块直接:import B即可。如果A模块和B模块在不同路径下放,那么在导入的时候需要先将B模块加入到Python的环境变量中去,这样导入才不会出错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值