模块的原理:

1.就是一个python文件

2.标准模块是python自带的

3.第三方模块需要自己安装

导入模块的顺序:

1.从当前目录下找

2.从python的环境变量中找

一、自己定义的模块

1、第一种导入模块方式

导入的python文件和当前python文件在同一个文件夹下

 1 #一种是import方式
2 #import a,c,d可以导入多个py文件
3 import a,sys#import一个模块就是将这个模块里的代码执行一遍
4 print(a.name)
5 a.func()
6
7 #一种是from方式
8 from a import func,name
9 func()
10 print(name)

2、第二种导入模块方式

引入不在当前文件夹下的py文件

2.1 第一种将py文件放在python的环境变量的目录下

调用sys.path,找到python的环境变量,将需要引入的py文件放到其中的一个目录下,就可以进行调用

1 import sys
2 print(sys.path)#打印出python的环境变量
3 import tools#将tools.py放到C:\Anaconda3\Lib\site-packages目录下,可以直接引入
4 print(tools.fun('fdsrewrwrw'))

2.2 第二种把要引用的文件夹加入到python的环境变量中

1 #2、tools.py在G:\\pythonWorkspace\\day003目录下,把要引入的文件夹加到环境变量中
2 #sys.path.append('G:\\pythonWorkspace\\day003')#这个是加在环境变量的末尾,效率不高
3 sys.path.insert(0,r'G:\pythonWorkspace\day003')#r:源字符,加到最前面,效率高
4 print(sys.path)
5 import tools
6 print(tools.fun('fdsrewrwrw'))

2.3 第三种需要引入的py文件和当前文件在同一个工作空间下

1 #一种方式
2 #import day003
3 #print(day003.tools.fun('fdsrekwrwjl'))#这种方式会报错
4
5 from day003 import tools#这种方式没问题
6
7 from day003.tools import fun#这种方式没问题
8 result = fun('fdsrewrew')
9 print(result)
1 #import day003
2 #print(day003.tools.fun('fdsrekwrwjl'))#这种方式会报错
3 #想要解决这种报错
4 #1.在day003下,建一个__init__.py文件
5 #2.在day004下import day003
6
7 import day003
8 print(day003.tools.fun('rewsdfsfs'))
__init__.py文件的内容如下:
 1 from . import tools 

二、第三方模块

第三方模块需要安装,可以自动安装(电脑联网情况下),手动安装(电脑不联网的情况下)

第三方模块都在pypi  pip源这个网站这里可以找到

2.1 自动安装

执行命令:pip install xpinyin

可以进行自动安装,但是默认的pip源是国外的,有可能会导致下载失败

将pip源改为国内的地址的办法,执行以下代码,就可以将pip源改为国内的地址

 1 import os,sys,platform
2 ini="""[global]
3 index-url = https://pypi.doubanio.com/simple/
4 [install]
5 trusted-host=pypi.doubanio.com
6 """
7 os_version=platform.platform()
8 if 'Windows' in os_version:
9 os_flag=False
10 file_name='pip.ini'
11 else:
12 os_flag=True
13 file_name='pip.conf'
14 if os_flag==True:
15 pippath=os.environ["HOME"]+os.sep+".pip"+os.sep
16 else:
17 pippath=os.environ["USERPROFILE"]+os.sep+"pip"+os.sep
18 if not os.path.exists(pippath):
19 os.mkdir(pippath)
20 with open(pippath+file_name,"w") as f:
21 f.write(ini)

2.2 手动安装

1.在pip源找到对应的资源,比如plmysql

2.安装.whl格式的文件

执行命令:pip install /Users/nhy/Downloads/PyMySQL-0.9.3-py2.py3-none-any.whl

3.安装.tar格式的文件

  a.解压

  b.进入解压目录

  c.python setup.py install

三、常用模块

3.1 random模块

 1 import random
2 num1 = random.randint(1,100)#随机整数
3 print(num1)
4 f1 = random.uniform(1,100)#随机小数
5 print(f1)
6 s = 'frewrewrw'
7 l = [1,2,3,4]
8 t = [12,13,34]
9 #res1 = random.choice()#从你给的数据里随机选一个
10 res2 = random.sample(l,3)#从list中随机取N个元素
11 #print(res1)
12 print(res2)
13
14 l2 = [str(i) for i in range(14)]
15 print(l2)
16 random.shuffle(l2)#洗牌,打乱
17 print(l2)

python使用笔记008-模块的更多相关文章

  1. python学习笔记_week5_模块

    模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...

  2. Python学习笔记之模块与包

    一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...

  3. python学习笔记(八)-模块

    大型python程序以模块和包的形式组织.python标准库中包含大量的模块.一个python文件就是一个模块.1.标准模块 python自带的,不需要你安装的2.第三方模块 需要安装,别人提供的. ...

  4. Python学习笔记-常用模块

    1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...

  5. Python学习笔记1—模块

    模块的使用 引用模块的两种形式 形式一: import module_name 形式二: from module1 import module11   (module11是module的子模块) 例: ...

  6. Python学习笔记2——模块的发布

    1.为模块nester创建文件夹nester,其中包含:nester.py(模块文件): """这是"nester.py"模块,提供了一个名为prin ...

  7. python学习笔记十——模块与函数

    第五章 模块与函数 5.1 python程序的结构 函数+类->模块              模块+模块->包                 函数+类+模块+包=Python pyth ...

  8. Python学习笔记14—模块

    在python中所有的模块都被加入到了sys.path中,用下面的方法可以看见模块的位置. >>> import sys >>> import pprint > ...

  9. python学习笔记:模块——自定义模块的3种导入方式

    一.定义 模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.py文件的集合就是模块.如果不懂 ...

  10. Python学习笔记—itertools模块

    这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较 ...

随机推荐

  1. Docker学习(7) 构建镜像

    构建docker镜像 1 构建镜像的两种方式 1 通过容器构建镜像 2 通过Dockerfile构建镜像

  2. 噪声标签的负训练:ICCV2019论文解析

    噪声标签的负训练:ICCV2019论文解析 NLNL: Negative Learning for Noisy Labels 论文链接: http://openaccess.thecvf.com/co ...

  3. CodeGen处理Synergy方法目录

    CodeGen处理Synergy方法目录 如果Synergy应用程序开发环境包括使用Synergy/DE xfServerPlus,则可以基于Synergy方法目录中包含的元数据生成代码.要启用此功能 ...

  4. PyTorch中的MIT ADE20K数据集的语义分割

    PyTorch中的MIT ADE20K数据集的语义分割 代码地址:https://github.com/CSAILVision/semantic-segmentation-pytorch Semant ...

  5. Linux基础_vim命令

    简介:Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. vi/vim 共分为三种模式,分别是命令模式(Command mode)也叫 ...

  6. 七、AIDE入侵检测

    Aide通过检查数据文件的权限.时间.大小.哈希值等,校验数据的完整性 部署AIDE入侵检测系统 [root@proxy ~]# yum -y install aide         //安装软件包 ...

  7. 【NX二次开发】获取两个面之间的所有面

    已知两个蓝色面,使用遍历面的方法求紫色面.算法例子: 1 bool is_NeighborFace(tag_t tagFace1, tag_t tagFace2) 2 { 3 vector<ta ...

  8. NetCore Dapper封装

    一.前期环境准备 1.创建一个core webapi的项目,基于core3.1版本创建一个项目. 2.Dapper安装,使用NuGet来安装Dapper程序包 Install-Package Dapp ...

  9. Pytest测试框架入门到精通(一)

    Python测试框架之前一直用的是unittest+HTMLTestRunner,听到有人说Pytest很好用,所以这边给大家介绍一下Pytest的使用 pytest是一个非常成熟的全功能的Pytho ...

  10. HTTP客户端连接,选择HttpClient还是OkHttp?

    为什么会写这篇文章,起因于和朋友的聊天 这又触及到我的知识盲区了,首先来一波面向百度学习,直接根据关键字httpclient和okhttp的区别.性能比较进行搜索,没有找到想要的答案,于是就去over ...