'''
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. 乾坤合一~Linux设备驱动之USB主机和设备驱动

    如果不能陪你到最后 是否后悔当初我们牵手 如果当初没能遇见你 现在的我 在哪里逗留 所有的爱都是冒险 那就心甘情愿 等待我们一生中 所有悬念 我一往情深的恋人 她是我的爱人 她给我的爱就像是 带着露水 ...

  2. Jmeter在非GUI环境下传递参数(命令行&Jenkins配置)

    https://www.cnblogs.com/kill0001000/p/8078686.html 通过cmd运行 jmeter -? 可以得到所有命令行选项(本文最后) 其中可以看到下面 -J 的 ...

  3. 【转】Linux netstat命令详解,高级面试必备

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...

  4. page load时执行JavaScript

    // Multiple onload function created by: Simon Willison // http://simonwillison.net/2004/May/26/addLo ...

  5. iOS学习之--字符串的删除替换(字符串的常用处理,删除,替换)

    字符串操作,比较简单,仅做记录! 1.删除 NSString *str1 = @"<hello,wo r d!>"; //删除字符串两端的尖括号 NSMutableSt ...

  6. [工具] Altova UModel® 2017 is a UML tool for software modeling & application development.

    https://cdn.sw.altova.com/v2017sp2a/en/MissionKitEnt2017sp2.exe https://cdn.sw.altova.com/v2017sp2a/ ...

  7. JavaSE 类继承中函数重写

    (1) /** * 继承时重写方法的返回类型可以不一样 * 这时的返回值类型必须是与父类相同或者为子类. */ class A { public Object func(){ return null; ...

  8. java第一次上机实验--验证码

    package javashiyan; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event. ...

  9. 遍历文件,读取.wxss文件,在头部添加一条注释

    change.pl #!/usr/bin/perl use autodie; use utf8; use Encode qw(decode encode); use v5.26; my $path = ...

  10. Spring Security的核心拦截器

    1. HttpSessionContextIntegrationFilter 位于过滤器顶端,第一个起作用的过滤器. 用途一,在执行其他过滤器之前,率先判断用户的session中是否已经存在一个Sec ...