Python记录10:模块
'''
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:模块的更多相关文章
- 【循序渐进学Python】10.模块和包
1.导入模块 任何Python程序都可以作为模块导入,只要Python解释器能找到我们定义的模块所在位置即可,一般来讲,在一个模块被导入时,Python解释器会按照下面的步骤进行搜索: 在当前所在目录 ...
- Python记录_day21 模块
引入模块的方式: 1. import 模块 2. from xxx import 模块 一.collections 模块 1.Counter() counter是一个计数器,主要用来计数,计算一个字符 ...
- python记录day24 模块的语法
使用模块的两种方式: import xxx from xxx import xxx 使用模块的优点: 1.实现代码的重用 2.可以把代码分类 一.import 导入模块的时候系统会做三件事 1.先去s ...
- python记录_day23 正则表达式 re模块
一. 正则表达式 使用python的re模块之前应该对正则表达式有一定的了解 正则表达式是对字符串操作的一种逻辑公式.我们一般使用正则表达式对字符串进行匹配和过滤. 正则的优缺点: 优点:灵活, 功能 ...
- [19/10/16-星期三] Python中的模块和包、异常、操作文件
一.模块 # 模块(module) # 模块化,模块化指将一个完整的程序分解为一个一个小的模块 # 通过将模块组合,来搭建出一个完整的程序 # 不采用模块化,统一将所有的代码编写到一个文件中 # 采用 ...
- 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)
一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...
- Python之logging模块
一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ...
- Python 利用pytesser模块识别图像文字
使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the ...
- Python的regex模块——更强大的正则表达式引擎
Python自带了正则表达式引擎(内置的re模块),但是不支持一些高级特性,比如下面这几个: 固化分组 Atomic grouping 占有优先量词 Possessive quantifi ...
随机推荐
- hdoj:2075
A|B? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 【css】垂直居中的几种写法
结构 <div class="vam"> <div class="vam-body">垂直居中</div> </div ...
- 使用JavaScript验证用户输入的是否为正整数
在项目开发中,需要使用JavaScript验证用户输入的是否为正整数. 方法一: var type="^[0-9]*[1-9][0-9]*$"; var r=new RegExp( ...
- 必读:Spark与kafka010整合
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/rlnLo2pNEfx9c/article/details/79648890 SparkStreami ...
- Jmeter在非GUI环境下传递参数(命令行&Jenkins配置)
https://www.cnblogs.com/kill0001000/p/8078686.html 通过cmd运行 jmeter -? 可以得到所有命令行选项(本文最后) 其中可以看到下面 -J 的 ...
- Oracle字段根据逗号分割查询数据
需求是表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询. 数据是这样的: 查询的sql如下: select * from ( select gu ...
- sublime 安装ctags跳转以及跳转快捷键
在source insight中有一个很好用的功能,就是函数的跟踪跳转,在阅读别人的代码的时候轻松的浏览原函数.我们知道,在使用vim的时候有个插件叫ctags,同理,在sublime text中也能 ...
- react build后直接从浏览器打开
存在两个问题 一,资源文件路径 config/paths.js 这里原来的.pathname:'/', 改成.pathname:'./' function getServedPath(appPacka ...
- 公司中springcloud项目遇到的问题
1.更改maven的.m2下的settings.xml文件,程序就可以运行,是不是很神奇?
- ruby 基础知识 - Class 与 Module
原文 1. 因為 Ruby 並沒有「屬性」(property/attribute)這樣的設計,要取用實體變數,需要另外定義的方法才行: class Cat def initialize(name, g ...