一.模块介绍 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能. 模块的作用: (1)从文件级别组织程序,更方便管理:随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理.这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用: (2)拿来主义,提升开发效率同样的原理,我们也可以下载别人写好的模块然后导入到自己的项目中使用,这种拿来主义,可以极大地提升我们的开发效率. 二…
python基础——使用元类 type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Hello的class,就写一个hello.py模块: class Hello(object): def hello(self, name='world'): print('Hello, %s.' % name) 当Python解释器载入hello模块时,就会依次执行该模块的所有语句,执行结果就是动态创建出一个Hello的class对象,测试…
一.概述 二.准备工作 1.讨论对象 2.名词解释 三.实例绑定的属性访问 1.获取属性 一般规则 参考源码 示例验证 2.设置属性 一般规则 参考源码 示例验证 3.删除属性 一般规则 参考源码 示例验证 四.类绑定的属性访问 1.获取属性 一般规则 参考源码 示例验证 2.设置属性 一般规则 参考源码 示例验证 3.删除属性 一般规则 参考源码 示例验证 五.更多细节 1.属性的设置与删除 2.描述符 区分处理 使用惯例 六.简单自测 一.概述 自从Python 2.2引入新式类(New-s…
二十三. Python基础(23)--经典类和新式类 ●知识框架   ●接口类&抽象类的实现 # 接口类&抽象类的实现 #①抛出异常法 class Parent(object):     def method1(self):         raise NotImplementedError   class Child(Parent):     def method2(self):         print('method2')   c=Child() c.method1() ''' .…
Python进阶(十一)----包,logging模块 一丶包的使用 什么是包: ​ 包是通过使用 .模块名的方式组织python模块名称空间的方式. 通俗来说,含有一个__init__.py文件的文件夹就是包. 包的作用: ​ 将文件夹/模块组织起来,来提高程序的结构性和可维护性. ​ 目的不是运行,为了导入使用.包只是一种形式,包的本质就是一个模块 import: # 创建一个包,也会发生三件事: ''' 1. 将该aaa包内 __init__py文件加载到内存. 2. 创建一个以aaa命名…
最近由于初学python,对包,模块的导入问题进行了资料的搜集,查阅,在这里做一个总结: 一: import 模块 在import的过程中发生了什么?我们用一个实验来说明: 以上截图表明:在import + 模块中,直接执行了里面是语句 引申:一个模块不会被重复导入,如果要使用被导入模块的变量,要用   模块.变量名  的方式 . 如果全局空间与模块的局部空间有命名重复的变量名或函数名,则在各自对应的域内去寻找各自的对象 如下代码所示 ########file_2.py print("This…
1. 模块 在python中一个文件可以被看成一个独立模块,而包对应着文件夹,模块把python代码分成一些有组织的代码段,通过导入的方式实现代码重用. 1.1 模块搜索路径 导入模块时,是按照sys.path变量的值搜索模块,sys.path的值是包含每一个独立路径的列表,包含当前目录.python安装目录.PYTHONPATH环境变量,搜索顺序按照路径在列表中的顺序(一般当前目录优先级最高). >>> import sys >>> sys.path ['', 'E:…
包 1.什么是包? 包是模块的一种形式,包的本质就是一个含有__init__.py文件的文件夹 2.为什么要有包? 提高程序的结构性和可维护性 3.如何使用包? 导入包就是在导包下的__init__.py 方法:import…… from …… import…… 主要的问题: 1.包内所有的文件都是被导入使用的,而不是被直接运行的 2.包内部模块之间的导入可以使用绝对导入(以包的根目录为基准)与相对导入(以当前被导入模块所在的目录为基准),推荐使用相对导入 3.当前文件是执行文件时,无法在该文件…
模块初识 一般把不同功能代码放到不同py文件,一个py文件就是一个模块 三种模块库: 1.Python标准库 2.第三方库 3.自定义库 导入模块:import 库名 (Python解释器只认识执行文件的路径(sys.path),导入自定义库时也只会从执行文件的路径开始找) 两个效果:1.先执行模块所有代码 2.引入变量名 引入多个模块:import a,b,c 在调用模块下方法时,不建议 from a import *  (全部引入)这么写可能会与自己当前定义的函数冲突 包: 用来组织模块,避…
很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等: 使用logging的优势: a)你可以控制消息的级别,过滤掉那些并不重要的消息. b)你可决定输出到什么地方,以及怎么输出.有许多的重要性别级可供选择,debug.info.warning.error 以及 critical.通过赋予…