一、定义

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

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318447437605e90206e261744c08630a836851f5183000

二、类型

1、标准模块

python自带的模块,不需要安装包,直接import就可以使用

2、第三方模块

第三方开源模块通常需要自己去下载

3、自定义模块

自己写的实现自己某些功能的.py文件集合

二、标准模块

我们这里主要列举几个常用的标准模块:

import random #随机数模块

print(random.randint(1,100))#在1-100里随机取一个整数

print(random.uniform(1,900))#取一个小数,顾头也顾尾

stus=['zhangsan','lisi','xiaohong']print(random.choice(stus))#随机取一个元素

print(random.choice('sdfgadsgadfg'))print(random.sample(stus,2))#随机取两个元素

l=list(range(1,101))print('洗牌之前的',l)print(random.shuffle(l)) #洗牌,也就是打乱,没有返回值,只能传list,所以下面要在print一下

print('洗牌之后的',l)

三、第三方模块

大牛们开源共享许多模块也加快了大家开发的速度,许多开源模块可以在这里找到

1、安装第三发模块

pip install xxx

2、手动安装:

(1)下载.whl文件

pip install e:\\dowload\\pymysql.whl

(2)下载 .tar.gz文件

---解压

---进入目录执行 python setup.py install pymysql.tar.gz

3、列出当前装了哪些模块

pip list

4、导出当前已经安装的模块

freeze > 第三方模块.txt

5、指定文件批量安装模块

pip install -r 第三方模块.txt

四、python自定义模块的导入方式

1、直接import

这里有个大前提,就是你的py执行文件和模块同属于同个目录(父级目录),如下图:

main.py 和 pwcong模块同在python目录

执行文件为main.py

pwcong文件夹为一个模块

我把pwcong模块提供的函数写在 __init__.py 里,里面只提供一个 hi 函数:

#pwcong 模块的 __init__.py#-*- coding: utf-8 -*-

defhi():print("hi")

执行文件main.py直接import模块:

#main.py#-*- coding: utf-8 -*-

importpwcong

pwcong.hi()

接着我们运行一下main.py可以看到命令行窗口输出了一句 hi ,第一种方式完成。

2、通过sys模块导入自定义模块的路径path

如果执行文件和模块不在同一目录,这时候直接import是找不到自定义模块的。如下图:

执行文件main.py在main目录下

pwcong模块在python目录下

sys模块是python内置的,因此我们导入自定义模块的步骤如下:

先导入sys模块

然后通过sys.path.append(path) 函数来导入自定义模块所在的目录。

使用sys.path.append()方法可以临时添加搜索路径,方便更简洁的import其他包和模块。这种方法导入的路径会在python程序退出后失效。

使用sys.path.insert(0,'r'/Users/PycharmProjects/my_python/')定义搜索路径的优先顺序,序号从0开始,表示最大优先级,sys.path.insert()加入的也是临时搜索路径,程序退出后失效。

导入自定义模块。

这时候 main.py 这样写:

#main.py#-*- coding: utf-8 -*-

importsys

sys.path.append(r"C:\Users\Pwcong\Desktop\python")importpwcong

pwcong.hi()

最后执行main.py文件,最终输出 hi ,第二种方式完成。

3、在环境变量中找到自定义模块

这个方法原理就是利用了系统变量,python会扫描path变量的路径来导入模块,可以在系统path里面添加。

模块和执行文件目录结构跟上图一样:

执行文件main.py在main目录下

pwcong模块在python目录下

我们创建一个 module_pwcong.pth 文件,里面内容就是 pwcong模块所在的目录:

C:\Users\Pwcong\Desktop\python

将该 module_pwcong.pth 文件放到这里:

python安装目录\Python35\Lib\site-packages

例如我的:

然后 main.py 导入并使用自定义模块:

#-*- coding: utf-8 -*-

importpwcong

pwcong.hi()

最后执行 main.py 文件,可以输出 hi ,第三种方式完成。

注意:使用pycham可以把文件夹加到环境变量中

直接在文件夹上右键 mark directory as 选择 scorce root 直接把文件夹加到环境变量中。

python自定义安装哪些不需要_【1】python模块:自定义模块的3种导入方式相关推荐

  1. python基础教程pdf刘浪_《Python基础教程(第3版)》 PDF高清完整版_初学者如何学习Python...

    <Python基础教程(第3版)> PDF高清完整版 初学者如何学习Python 内容简介 本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基 ...

  2. 自学python在电脑上安装什么杀毒软件好_使用Python Shells绕过杀毒软件

    一.绕过杀毒软件 Why? 1.使用绕过反病毒软件的方式要比禁用杀毒软件更加安全; 2.展示客户端的反病毒软件是多么脆弱的非常有趣. How? 如果你使用二进制,而这个二进制文件被You can by ...

  3. python从安装开始加粉_安装python

    Python是最近这几年比较热门的编程语言,而且使用的越来越多,下面给大家介绍一下Python的下载和安装! 第一步.由于Python对于系统位数的不同有不同的安装,所以我们需要先知道自己电脑操作系统 ...

  4. 安装fitz报错_解决python 虚拟环境删除包无法加载的问题

    项目开发一直在docker的虚拟环境上,遇到了一个问题,就是把虚拟环境的包删掉(rm -rf xxx)之后,再重新拷贝一个(跟原来包一模一样的文件夹)进去发现pycharm再也找不到这个包了,后来在同 ...

  5. macos 安装python3.8 版本_用python安装cutadapt程序

    昨天用ubuntu安装了cutadapt,但是在之后的程序运行中,还是行不通.因此,今天还是在win10下用python来进行安装. --------------------------------- ...

  6. python基础语法加爬虫精进_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...

    Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...

  7. python得安什么安装包_初学 Python 需要安装哪些软件?

    初学Python,其实是没必要用那么复杂又强大的工具的. 教你一键搭建最好用的交互式编程工具 pip install jupyter 然后怎么运行呢 jupyter notebook ... 对,没有 ...

  8. python默认安装目录在哪_怎么查看python的安装目录

    技术宅 怎么查看python的安装目录? linux中一般安装后的默认路径如下#!/usr/bin/env python 或者 #!/usr/locat/bin/python 如果没有找到,可以通过命 ...

  9. python硬件编程_Python学习日记_《Python硬件编程实战》笔记_Mr_Ouyang

    书名: Python硬件编程实战 作者: 李茂 出版社: 机械工业出版社 [此处需要插入图片 Python封面] 笔者简评:不太适宜购买,全书大篇幅在用图片来解释极简单的细节,对于那些需要作者去深挖. ...

最新文章

  1. 区分真实模式的两个标准
  2. [CF314C](Sereja and Subsequences)
  3. Java 开源分布式缓存框架Ehcache
  4. svn插件的所有链接
  5. sqlite 修改表名,合并数据库(文件)
  6. 全国计算机等级考试题库二级C操作题100套(第98套)
  7. 在linux中的文件中查找_如何在Linux中查找文件
  8. Android 系统(89)---ART
  9. PHP消息队列实现及应用
  10. 看图说说class文件结构(部分)
  11. Golang 入门系列(十三)用Beego开发web应用
  12. SQL Server 2008 远程过程调用失败的问题解决方法
  13. SAP HANA XS ODATA的写法
  14. ZZULIOJ:1008美元和人民币
  15. Linux性能分析工具
  16. 淘宝直播弹幕API接口协议
  17. 浅谈激光的单色性与相干性
  18. UniRx_UniTask_学习记录_3.1_Subject
  19. SRS4.0源代码分析之RTMP拉流处理
  20. WLAN组网详细步骤

热门文章

  1. for循环中let,var 的经典面试题:for循环中 console.log(i)详解
  2. ajax异步提交案例(用户校验)
  3. gitee提交代码_git 版本控制,github和gitee
  4. greenplum配置高可用_高可用hadoop集群配置就收藏这一篇,动手搭建Hadoop(5)
  5. BugkuCTF-MISC题又一张图片,还单纯吗
  6. C语言实现单链表面试题汇总
  7. html跳转网页为什么网页无法访问,朋友的网站被网址跳转,导致官网无法正常访问...
  8. C语言一维数组实现杨辉三角,一维数组实现杨辉三角
  9. 会话标识未更新 java_Appscan漏洞之会话标识未更新
  10. 的表格点击全选_“逼死”强迫症的杂乱表格,原来3秒就能整理好!(必学)...