学完此次课程,我能做什么?

通过此次课程,我们将学会如何自定义自己的模块和包,以及如何引用到自己的项目中,从而实现代码的复用。

学习此次课程,需要多久?

5-10分钟

课程内容

什么是Python的标准库?

Python在标准安装中,还带了一组模块他们就是标准库。简单地说就是系统自带了一些方便我们使用的方法,他们统称为标准库。

Python如何自定义模块?

自定义模块与当前代码同目录

自定义模块hello.py 与 1.py同一目录

hello 模块中 定义了一个模块方法

使用模块:

此种方法优点:不需要额外的配置,在同目录下,直接和使用内部模块一样 导入即可使用。

缺点很明显:模块存在的意义在提高代码的复用性,使多个程序可以共享代码,如果每个模块都要单独放在相应的程序下,与出发点有点背道而驰,所以不建议大家使用此方法,了解一下即可。

在Python代码中指定模块位置

首先在/home/dely/github/python/library2目录下定义一个模块run.py

在下面的Demo中使用run 模块中的 hi函数

此方法优点:公共模块可以同一管理,无需放在项目所在目录下,提高的复用性。

缺点是:引用前,需制定模块所在位置。

通过环境变量指定,python模块所在位置

上图中,我已经把PYTHONPATH添加到环境变量中,如何制定环境变量不在这里说了,大家根据自己系统版本去谷歌或者百度吧。

配置好环境变量后,在library目录下写一个fly模块

在下面的Demo中使用fly模块的 hi 函数

优点:代码复用,无需在代码中制定模块路径,无多余代码,和使用标准库一样

缺点:移植性差,不同的电脑需要配置环境变量

以上三种常用方法,大家可以按照自己的需求使用。

考虑一个问题?

按照上面的方法,管理一个小的项目完全没有问题,但是有没有考虑一下,如果我们有1000个不同功能的模块,怎么办?全部放在一个文件夹?

答案肯定是NO.

我们这个时候就需要使用包,来管理我们的模块。

为了演示方便,我直接放在和项目同目录下,先看一下目录结构:

eat 和 say 模块都只有一个hi方法。

重点要注意的图上已经标明了。

import 导入的包,必须使用包.模块名.方法名 使用

from..import 方式导入的包,可以直接使用模块名.方法名 使用

小结

本次课程我们主要学习如何自定义模块,自定义包,以及如何导入自定义的包。使用过程中还会有一些坑,大家在练习的时候,踩踩看吧。

接下来学习什么?

下一课,我们讲学习常见的Python内置模块。只有熟悉了常用的模块和方法,我们在做项目的时候才能游刃有余,灵活使用。

关注公众号,回复 Python基础 下载全部代码+PDF版电子书

python设计自定义栈类_Python如何自定义模块?Python基础教程,第十讲,自定义模块...相关推荐

  1. Python3自定义栈类

    一.自定义栈类: 创建Python文件,Stack class Stack:"""这是一个自定义栈类实现功能:入栈.出栈,修改栈大小等基本功能""&q ...

  2. 第五十讲 自定义总线(xbus)

    第五十讲 自定义总线(xbus) 文章目录 第五十讲 自定义总线(xbus) 一.概述 二.重要函数 1.buses_init 2.bus_register 3.device_register 4.d ...

  3. python什么时候用类_python中什么时候使用自定义类

    Python中所有的数据都是对象,它提供了许多高级的内建数据类型,功能强大,使用方便,是Python的优点之一.那么什么时候使用自定义类呢? 比如设计一个Person类,如果不使用自定义类,可以这样做 ...

  4. 用python设计一个管理系统思路_Python大佬一个月打造的Python系统学习流程图!

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  5. python 引入同一路径的类_python小课堂15 - 史上最详细的包和模块import讲解篇

    python小课堂15 - 史上最详细的包和模块import讲解篇 前言 在大量的代码设计中,我们不可能将所有代码都写在一个.py文件,所以有了包.模块,而为了代码可以重复利用(复用性),就有了类.函 ...

  6. 用python定义一个员工类_python类的定义和使用

    类的定义: 类是用来描述具有相同的属性和方法的对象的集合.它定义了该集合中的每个对象所共有的属性和方法.对象时类的实例. 二.Python创建类: 使用class语句来创建一个新类,class之后为类 ...

  7. python中如何调用类_python如何调用java类

    由于 python 本身为脚本语言,且经常存在调用第三方库的情况,有的时候用 java 调用 python 不如用 python 调用 java 方便.下面就整理一下在 python 调用 java ...

  8. python中的元类_Python中的元类(metaclass)

    提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自身有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理 ...

  9. python设计一个学生类求最高分_设计一个学生类班级类

    第一题 设计一个学生类 属性:姓名.学号.年龄.成绩 设计一个班级类要求:实现向班级中添加学生.删除学生.查看学生.按照指定条件排序 属性:班级代号,所有学生 需要使用 calss, __int__, ...

最新文章

  1. 张仰彪第二排序法_C语言中的最常用的两种排序算法你知道吗?
  2. POJ 2778 AC自己主动机+矩阵幂 不错的题
  3. CVPR 2021 | 基于帧场学习的多边形建筑提取
  4. linux程序已经在后台运行冻结了_linux 让程序在后台运行的几种可靠方法
  5. java中File类应用:遍历文件夹下所有文件
  6. mysql导出二进制日志_使用mysqlbinlog提取二进制日志
  7. Hive篇--搭建Hive集群
  8. Codeforces Round #476 (Div. 2)
  9. java 线程 condition_JAVA多线程按指定顺序执行线程 Condition应用
  10. java与eclipse不匹配_【JAVA小白】 用eclipse输入格式不匹配的问题
  11. Java技术栈及重要点汇总(*)
  12. golang mian函数和init函数
  13. 微信公众号 Markdown 编辑器
  14. 谷歌浏览器输入不安全网址点高级后没有继续前往链接解决办法
  15. 科研人必备英语改写神器——PARAPHRASER多语言改写
  16. 希尔排序的时间复杂度为什么能小于O(n^2)
  17. C语言——获取键盘方向键效果
  18. word 去除 文字 浅灰色背景
  19. python turtle画圣诞树动图_用 turtle 画一棵圣诞树
  20. React Firebase 计账软件 Serverless 项目实战视频教程

热门文章

  1. Java 计算两个日期时间差,天数、时、分、秒
  2. This relative module was not found ./cptable webpack
  3. vscode 遇到的迷之bug nvm is not compatible with the npm config prefix
  4. SQLServer获取最后插入生成的ID 不同方法
  5. 我的.Net+SQLServer更新设计
  6. 褚时健:现在的年轻人太急了,我快90了还在摸爬滚打
  7. 用c语言程序编写一份试卷,C语言程序设计试题
  8. 继承(父类,子类的继承方式,成员变量、静态变量的引用方法)
  9. HTTP和RPC的优缺点 1
  10. Python Interview Question and Answers