模块

概念:一系列功能的结合体。相当于模块包着一堆函数与代码。本质上是py文件

来源

  • python内置的模块----→ python解释器的模块
  • 第三方的模块 -----→ 其他人编写提供的
  • 自定义的模块 -----→ 我们自己编写的模块

表现形式:

  • 使用python 编写的py文件
  • 编译后的共享库,如:DLL、C 或C++ 库
  • **包里面带有__ init __.py 的一组py 文件**
  • python解释器下的py 文件

: 把一系列模块组织到一起的文件夹,且包含包含__ init __.py文件的文件夹称之为包。用来存放模块,可更好地管理模块

使用模块的好处

  • 便于管理功能代码。将项目拆分成一个个的功能,分别存放在不同的.py文件中
  • 使用python内置或第三方的模块,可提高开发效率

创建模块步骤:

  • 创建py 文件

    • 在py 文件中编写python 代码
  • 在一个文件中,通过import 导入
    • 语法import 模块名
    • 注意:import 模块名时,模块名后面不能接.py

模块导入时发生的事情

  1. 会先执行当前执行文件,并产生执行文件中的名称空间。
  2. 当执行到导入模块的代码时,被导入的模块会产生一个模块的名称空间
  3. 会将被导入模块的名称空间加载到内存中。

模块的导入方式:

  • import 模块:在执行文件中直接import 导入
  • from 包/模块 import 模块/(函数名、变量名、类名)

注意:

  • 在使用模块阶段,必须注意,谁是执行文件,谁是被导入文件

  • 模块在首次导入时,就已经固定好了。文件查找顺序先从内存中查找

循环导入问题解决方法

  1. 需要查找的名字放在导入模块的上方
  2. 在函数内部导入,将模块变成函数名称空间的名字

python基础-模块(全是理论,没有代码)的更多相关文章

  1. python基础——模块

    python基础——模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  2. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  3. python基础-模块

    一.模块介绍                                                                                              ...

  4. Python菜鸟之路:Python基础-模块

    什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,分组的规则就是把实现了某个 ...

  5. Python基础+模块、异常

    date:2018414+2018415 day1+2 一.python基础 #coding=utf-8 #注释 #算数运算 +(加)  -(减)  *(乘)  /(除)  //(取整)  %(取余) ...

  6. Python 基础 模块

    python 中模块和保定 概念 如果将代码分才投入多个py 文件,好处: 同一个变量名也互不影响.   python 模块导入 要使用一个模块,我们必须先导入该模块.python 使用import ...

  7. python基础----模块、包

    一 模块                                                                                                 ...

  8. Python基础-模块与包

    一.如何使用模块 上篇文章已经简单介绍了模块及模块的优点,这里着重整理一下模块的使用细节. 1. import 示例文件:spam.py,文件名spam.py,模块名spam #spam.py pri ...

  9. Python基础篇(三)_函数及代码复用

    Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...

随机推荐

  1. vue---引入外部样式

    在用 vue-cli 进行项目开发的时候,经常会遇到要引入外部的样式,那该怎么做的呢? 示例:使用 import 引入 scss import variables from '@/assets/sty ...

  2. angular的路由例子

    app.routing.module.ts里面,关键部分 const routes: Routes = [ { path: '', redirectTo : 'c3/c2/mmc', pathMatc ...

  3. flow

    Flow vs Stream https://wikidiff.com/flow/stream As nouns the difference between flow and stream is t ...

  4. djang-celery使用带密码的redis

    前言: 网上很多django-celery使用redis(使用不带密码的redis)的用法都是千篇一律,那带密码的redis该怎么使用了呢,没有看到一篇有帮助的,在官网搜了下,发现以下用法,请看下面 ...

  5. pycharm更改缩进快捷键-ubuntu系统

    前言 ubuntu系统tab+shirt是切换窗口的快捷键,而这个快捷键也恰恰是pycharm这个快捷键,他们的快捷键产生了冲突,所以目前我们需要更改下pycharm的快捷键,这样就能愉快使用缩进功能 ...

  6. 【翻译】Flink Table Api & SQL — 性能调优 — 流式聚合

    本文翻译自官网:Streaming Aggregation  https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table ...

  7. python之 小甲鱼教程 Easygui 篇

    博客转自 https://blog.csdn.net/bestallen/article/details/51933427 终于有点实质性可以看到摸到的界面了,搜了一下虽然easygui用的不多,但是 ...

  8. 小甲鱼汇编语言学习笔记——day02

    1.8086CPU不支持将数据直接送入段寄存器,需要按照下面方式:数据——>通用寄存器——>段寄存器. 2.mov指令的几种形式: mov 寄存器,数据 mov 寄存器,寄存器 mov 寄 ...

  9. RobotFrameWork中使用Chrome浏览器

    RF默认使用的是Firefox浏览器,如果要修改为其他浏览器要怎么做呢? 1.按F5搜索关键字[Open Browser],可以看到其帮助信息中说明了不同浏览器时browser参数的值 2.Pytho ...

  10. SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法

    这种问题大多是由于没有主键(PK)导致同一张表中存在若干条相同的数据.DBMS存储时,只为其存储一条数据,因为DBMS底层做了优化,以减少数据冗余.所以删除或更新一条重复数据就牵一发而动全身. 解决方 ...