'''
1.
什么是模块
    模块就一系列功能的集合体

模块有三种来源:
        1. 内置的模块
        2. 第三方的模块:pip
install +模块名称
        3. 自定义模块

模块分为四个通用类别
      1 使用python编写的.py文件
      2 已被编译为共享库或DLL的C或C++扩展
      3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
      4 使用C编写并链接到python解释器的内置模块

2. 为何要用模块
    1. 使用内置模块与第三模块的好处是: 拿来主义,可以极大地提升开发效率
    2. 自定义模块的好处:将程序各部分组件共用的功能放到一个模块里,可以减少代码冗余,提升程序的可维护性

3. 如何用模块
    其余笔记见run.py

'''
# import time
# # print(time)

#一 import导入模块
# 首次导入模块发生三件事:
# 1. 先创建一个模块的名称空间
# 2. 运行模块对应的spam.py,将运行过程中产生的名字都丢到模块的名称空间
# 3. 在当前执行文件中拿到一个名字spam,该名字就是指向模块的名称空间
# 注意:之后的导入都是直接引用首次导入的成果

# x=111
# import spam

# print(spam.money)
# print(spam.read1)
# print(spam.read2)
# print(spam.change)

# money=111111111111111111
# spam.read1()
# def read1():
# print('from run.py')
# spam.read2()

# money=111111
# spam.change()
# print(money)

# import spam as sm
# print(sm.money)

# import导入模块的
# 优点:不会与当前执行文件中的名字冲突
# 缺点:必须加上前缀spam.

# import spam
# money=111111111111111111111111111111111111111111111
# print(money)
# print(spam.money)

# import os,time,spam

#二 from...import...导入模块
# 首次导入模块发生三件事:
# 1. 先创建一个模块的名称空间
# 2. 运行模块对应的spam.py,将运行过程中产生的名字都丢到模块的名称空间
# 3. 在当前执行文件中拿到一个名字money,该名字就是指向模块的名称空间中的那个money
# x=111
# money=222222222222222222
# from spam import money
#
# print(money)

# from...import...导入模块的
# 优点:不用加上前缀,代码更精简
# 缺点:容易当前执行文件中的名字冲突

# money=111111111
# from spam import money as m
# print(m)
# print(money)

# from spam import money,read1,read2,change

# print(money)
# print(read1)
# print(read2)
# print(change)

# money=222222222222222222
# read1()

# def read1():
# print('from run.py')
# read2()

#
# from spam import *
# print(money)
# print(read1)
# print(read2)
# print(change)

#查找模块的搜索路径,优先级如下:
# 1. 内存已经有的模块
# 2. 内置模块
# 3. sys.path:第一个值就是当前执行文件所在的文件夹 # import sys
# print(sys.path)
# import spam # import time
# import spam
# print(spam.money)
# time.sleep(10)
# import spam
# print(spam.money) # import time
# print(time) import sys
sys.path.append(r'D:\周末三期\day05\aaa')
import spam
print(spam.money) # from aaa import spam
# print(spam.money)

Python记录10:模块的更多相关文章

  1. 【循序渐进学Python】10.模块和包

    1.导入模块 任何Python程序都可以作为模块导入,只要Python解释器能找到我们定义的模块所在位置即可,一般来讲,在一个模块被导入时,Python解释器会按照下面的步骤进行搜索: 在当前所在目录 ...

  2. Python记录_day21 模块

    引入模块的方式: 1. import 模块 2. from xxx import 模块 一.collections 模块 1.Counter() counter是一个计数器,主要用来计数,计算一个字符 ...

  3. python记录day24 模块的语法

    使用模块的两种方式: import xxx from xxx import xxx 使用模块的优点: 1.实现代码的重用 2.可以把代码分类 一.import 导入模块的时候系统会做三件事 1.先去s ...

  4. python记录_day23 正则表达式 re模块

    一. 正则表达式 使用python的re模块之前应该对正则表达式有一定的了解 正则表达式是对字符串操作的一种逻辑公式.我们一般使用正则表达式对字符串进行匹配和过滤. 正则的优缺点: 优点:灵活, 功能 ...

  5. [19/10/16-星期三] Python中的模块和包、异常、操作文件

    一.模块 # 模块(module) # 模块化,模块化指将一个完整的程序分解为一个一个小的模块 # 通过将模块组合,来搭建出一个完整的程序 # 不采用模块化,统一将所有的代码编写到一个文件中 # 采用 ...

  6. 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)

    一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...

  7. Python之logging模块

    一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ...

  8. Python 利用pytesser模块识别图像文字

    使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the ...

  9. Python的regex模块——更强大的正则表达式引擎

    Python自带了正则表达式引擎(内置的re模块),但是不支持一些高级特性,比如下面这几个: 固化分组    Atomic grouping 占有优先量词    Possessive quantifi ...

随机推荐

  1. hdoj:2075

    A|B? Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. 【规范】前端编码规范——javascript 规范

    全局命名空间污染与 IIFE 总是将代码包裹成一个 IIFE(Immediately-Invoked Function Expression),用以创建独立隔绝的定义域.这一举措可防止全局命名空间被污 ...

  3. Servlet开发 中使用 log4jdbc 记录 hibernate 的 SQL信息

    一.前言 使用log4jdbc在不改变原有代码的情况下,就可以收集执行的SQL文和JDBC执行情况. 平时开发使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺 ...

  4. java.lang.ClassCastException:weblogic.xml.jaxp.RegistryDocumentBuilderFactory cannot be cast to javax.xml.parsers.DocumentBuilderFactory

    java.lang.ClassCastException:weblogic.xml.jaxp.RegistryDocumentBuilderFactory cannot be cast to java ...

  5. go异常处理原则

    如果你定义的函数有可能失败,它就应该返回一个错误.当我调用其他package的函数时,如果这个函数实现的很好,我不需要担心它会panic,除非有真正的异常情况发生,即使那样也不应该是我去处理它.而pa ...

  6. thinkcmf 5关闭后台验证码

    控制器修改 D:\cmf\thinkcmf\app\admin\controller\PublicController.php 注释 /* $captcha = $this->request-& ...

  7. java8时间类的一些封装

    1.判断平年和闰年 (prolepticYear & 3) == 0 这个条件使用了位运算,与上3在二进制计算下即为:& 00…011.目的是保留最后2位二进制数,然后判断是否最后两位 ...

  8. 阿里天池的新任务(简单)(KMP统计子串出现的次数)

    阿里“天池”竞赛平台近日推出了一个新的挑战任务:对于给定的一串 DNA 碱基序列 tt,判断它在另一个根据规则生成的 DNA 碱基序列 ss 中出现了多少次. 输出格式 输出一个整数,为 tt 在 s ...

  9. devmapper: Thin Pool has 154464 free data blocks which is less than minimum required 163840 free dat

    清理exited进程: docker rm $(docker ps -q -f status=exited) 清理dangling volumes: docker volume rm $(docker ...

  10. js运用5

    js数据类型具体分析 1.基础类型:string   number boolean null undefined 2.引用类型:object==>        json    array    ...