一、模块介绍

模块:模块就是一系列功能的集合体

模块有三种来源: 1.内置模块

         2.第三方的模块

         3.自定义模块

模块的格式: 1使用python编写的.py文件

       2.已被编译为共享库或DLL的C或C++扩展

       3.把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件称之为包)

       4.使用C编写并链接到python解释器的内置模块

为何要用模块?

  1.使用内置的或者第三方模块的好处是:拿来主义,可以极大提升开发效率

  2.使用自定义模块的好处是:可以减少代码冗余(抽取我们自己程序中要公用的一些功能定义成模块,然后程序的各部分组件都去模块中调用共享功能)

注: 一定要区分开谁是执行文件,谁是被导入模块    

二、import导入模块

首次导入模块:

  1.会产生一个模块的名称空间

  2.执行模块文件,将执行过程中产生的名字都放到模块的名称空间中

  3.在当前执行文件的名称空间中拿到一个模块名,该名字指向模块的名称空间

后面的导入,都是直接引用第一次导入的成果,不会重新执行文件

spam.money   在执行文件中访问模块名称空间中名字的语法:  模块名.名字(注:模块名应该全部为小写)

指名道姓地跟spam要money  不会与当前执行文件中的名字冲突

为模块起别名  import xxx as x

总结import导入模块:

  优点:指名道姓地向某一个名称空间要名字,不会与当前名称空间中的名字冲突

  缺点:但凡应用模块中的名字都需要前缀,不够简洁

三、from...import...导入模块

首次导入模块:

  1.会产生一个模块的名称空间

  2.执行模块文件,将执行过程中产生的名字都放到模块的名称空间中

  3.在当前执行文件的名称空间中拿到一个名字,该名字就是执行模块中对应的名字

总结from...import...

  优点:使用时,无需再加前缀,更简洁

  缺点:容易与当前名称空间中的名字冲突

补充:

  from xxx import * 导入全部   *代表从被导入模块中拿到所有名字(不推荐使用)

  在导入模块时,如果未找到__all__中的成员,抛出attributeError

# __all__ = ['money','read1']

python-模块入门的更多相关文章

  1. Python模块入门(二)

    一.模块的循环导入问题 在python工程中,由于架构不当,可能会出现模块间互相引用的情况.这时候需要通过一些方法来解决这个问题 1.重新设计架构,解决互相引用的关系. 2.把import语句放置在模 ...

  2. Python模块入门(一)

    一.模块介绍 模块就是一系列功能的集合体 模块有三种来源: 1.内置模块:python内提供的模块 2.第三方模块:由第三方提供的模块 3.自定义模块:自行定义的模块 模块的格式: 1.使用pytho ...

  3. python从入门到大神---Python的jieba模块简介

    python从入门到大神---Python的jieba模块简介 一.总结 一句话总结: jieba包是分词技术,也就是将一句话分成多个词,有多种分词模型可选 1.分词模块包一般有哪些分词模式(比如py ...

  4. Python开发入门与实战2-第一个Django项目

    2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...

  5. python模块介绍- multi-mechanize 性能测试工具

    python模块介绍- multi-mechanize 性能测试工具 2013-09-13 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 3739 ...

  6. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  7. python爬虫入门(六) Scrapy框架之原理介绍

    Scrapy框架 Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬 ...

  8. Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分

    1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...

  9. Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分

    1. Python爬虫入门教程 爬取背景 2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面.这个APP还是比较有名和有意思的. 下面是百思不得姐的 ...

  10. Python爬虫入门之正则表达式

    在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...

随机推荐

  1. 27. Spring Boot 缓存注解详解: @Cacheable、@CachePut、 @CacheEvict、@Caching、@CacheConfig

     1.使用OGNL的命名规则来定义Key的值 @Cacheable(cacheNames = {"user"},key = "#root.methodName + '[' ...

  2. 【bzoj 4756】[Usaco2017 Jan] Promotion Counting

    Description The cows have once again tried to form a startup company, failing to remember from past ...

  3. String,StringBuffer,StringBulider

    StringBuffer.StringBuilder.String中都实现了CharSequence接口. CharSequence是一个定义字符串操作的接口,它只包括length().charAt( ...

  4. python后端将svc文件数据读入数据库具体实现

    如何用python将svc文件的数据读入到MySQL数据库里,在此直接上代码了,感兴趣的朋友可以贴代码测试: import pandas as pd import os from sqlalchemy ...

  5. 缓存设计(cache-design)

    分布式缓存设计 目前常见的缓存方案都是分层缓存,通常可以分为以下几层: 1.1NG本地缓存,命中的话直接返回 1.2 NG没有命中时则需要查询分布式缓存,如redis 1.3 如果分布式缓存没有命中则 ...

  6. intellij idea无效的发型版本1.8解决方案

    描述:intellj中启动项目报错无效的发行版本:8 解决方案一: file -> settings -> build,exception,deployment -> compile ...

  7. day 5 - 1 字典(dict)

    dict dict key 必须是不可变数据类型,可哈希value:任意数据类型 dict 优点:使用二分查询来搜索数据存储了大量的关系型数据特点:无序的 数据类型划分:可变数据类型,不可变数据类型不 ...

  8. Shiro入门 - 通过ini文件进行认证

    导入依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core ...

  9. Thymeleaf引入公共片段方式

    引入公共片段 引入公共片段的th属性,包括三种方式 th:insert 将公共片段,整个插入到声明引入的元素中 th:replace 将声明引入的元素,替换为公共片段 th:include 将被引入的 ...

  10. SFTP客户端代码示例

    参考链接:SFTP客户端代码示例 操作系统:Windows7/8,VS2013 环境:libssh2 1.4.3.zlib-1.2.8.openssl-1.0.1g 原文: “从http://www. ...