摘要: 回顾: 函数对象:可以将定义在函数内的函数返回到全局使用,从而打破函数的层级限制。 名称空间与作用域:作用域关系在函数定义阶段时就已经固定死了,与调用位置无关,即在任意位置调用函数都需要跑到定义函数时找到作用域关系。 一、什么是闭包? 闭包:闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域 阅读全文
posted @ 2019-09-21 21:34 xuchong 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 一、面向对象高级小结 1.1 isinstance,issubclass isinstance判断是否为类的实例化对象,会检测父类,而type不会检测父类 issubclass,判断是否为其子类 1.2 反射 1. hasattr:通过字符串判断是否类属性存在 2. getattr:通过字符串获取类 阅读全文
posted @ 2019-09-21 21:32 xuchong 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 1.1 面向对象编程 面向过程编程:类似于工厂的流水线 优点:逻辑清晰 缺点:扩展性差 面向对象编程:核心是对象二字,对象属性和方法的集合体,面向对象编程就是一堆对象交互 优点:扩展性强 缺点:逻辑非常乱 1.2 类与对象 对象:属性和方法的集合体 类:一系列相同属性和方法的集合体 现实世界中先有对 阅读全文
posted @ 2019-09-21 21:29 xuchong 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 1.1 time模块 打印三种不同形式的时间,时间戳/格式化时间/结构化时间 1.2 datetime模块 时间的加减 1.3 random模块 随机数 1.4 os模块 与操作系统交互,多用于文件操作 1.5 sys模块 与python解释器交互,多用于环境变量配置 1.6 json模块 序列化: 阅读全文
posted @ 2019-09-21 21:25 xuchong 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 一、Python文件的两种用途 python文件总共有两种用途,一种是执行文件;另一种是被当做模块导入。 编写好的一个python文件可以有两种用途: 1. 脚本,一个文件就是整个程序,用来被执行 2. 模块,文件中存放着一堆功能,用来被导入使用 如果直接运行run.py会直接运行aaa.py中的 阅读全文
posted @ 2019-09-21 21:25 xuchong 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 一、模块搜索路径的顺序 模块其实就是一个文件,如果要执行文件,首先就需要找到模块的路径(某个文件夹)。如果模块的文件路径和执行文件不在同一个文件目录下,我们就需要指定模块的路径。 模块的搜索路径指的就是在导入模块时需要检索的文件夹。 导入模块时查找模块的顺序是: 1. 先从内存中已经导入的模块中寻找 阅读全文
posted @ 2019-09-21 21:23 xuchong 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 一、什么是循环导入? 1. 创建m2的名称空间 2. 执行m2.py,将执行产生的名字丢到m2.py 3. 在当前执行文件中拿到m2.x 1. 创建m1的名称空间 2. 执行m1.py,将执行产生的名字丢到m1.py 3. 在当前执行文件中拿到m1.y 1. 创建m1的名称空间 2. 执行m1.py 阅读全文
posted @ 2019-09-21 21:21 xuchong 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 一、什么是模块? 模块是一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一堆函数的集合体。一个py文件内部就可以放一堆函数,因此一个py文件就可以看成一个模块。如果这个py文件的文件名为 ,模块名则是 。 二、模块的四种形式 在Python中,总共有以下四种形式的模块: 1. 自定 阅读全文
posted @ 2019-09-21 21:19 xuchong 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 面向过程编程是解决问题的一种思想,相当于武林门派,武林门派之间没有好坏之分,因此它与我们之后学习的面向对象编程其实没有好坏之分。 面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么、后干什么、再干什么、然后干什么…… 基于该思想编写程序就好比在设计一条流水线,面向对称编程其实是一种机 阅读全文
posted @ 2019-09-21 21:14 xuchong 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 一、无参装饰器 1.1 什么是装饰器? 器指的是工具,而程序中的函数就是具备某一功能的工具,所以装饰器指的是为被装饰器对象添加额外功能。因此定义装饰器就是定义一个函数,只不过该函数的功能是用来为其他函数添加额外的功能。 需要注意的是: 装饰器本身其实是可以任意可调用的对象 被装饰的对象也可以是任意可 阅读全文
posted @ 2019-09-21 21:13 xuchong 阅读(114) 评论(0) 推荐(0) 编辑