随笔分类 -  Python基础

摘要:# 基于路径的文件复制: shutil.copyfile('source_file', 'target_file') # 基于流的文件复制: with open('source_file', 'rb') as r, open('target_file', 'wb') as w: shutil.copyfileobj(r, w) # 递归删除目标目录 shutil.rmtree... 阅读全文
posted @ 2019-05-08 20:27 挺锅锅 阅读(97) 评论(0) 推荐(0)
摘要:# 为什么有很多序列化和反序列化模块 # 因为程序中会出现各种各样的对象,如果要将这些对象持久化存储,必须先序列化 # 只有序列化存储后,必须有对应的反序列化,才能保证存储的数据能被重新读取使用 # 什么是序列化:对象 => 字符串 # 为什么序列化:存 或 传 # 为什么要反序列化:再次使用 # 为什么有很多序列化模块:存与取的算法可以多种多样,且要配套 import pickle obj... 阅读全文
posted @ 2019-05-08 20:26 挺锅锅 阅读(126) 评论(0) 推荐(0)
摘要:# json语言,就是一种有语法规范的字符串,用来存放数据的,完成各种语言之间的数据交互 # 1.就是{}与[]的组合,{}存放双列信息(类比为字典),[]存放单列信息(类比为列表) # 2.{}的key必须是字符串,且必须用""包裹 # 3.{}与[]中支持的值的类型: dict | list | int | float | bool | null | str # 序列化:将对象转换为字符... 阅读全文
posted @ 2019-05-08 20:24 挺锅锅 阅读(138) 评论(0) 推荐(0)
摘要:项目开发周期 阅读全文
posted @ 2019-05-08 20:21 挺锅锅 阅读(266) 评论(0) 推荐(0)
摘要:跨文件夹移动文件 阅读全文
posted @ 2019-05-08 20:20 挺锅锅 阅读(292) 评论(0) 推荐(0)
摘要:递归删除的思路 递归遍历打印目标路径中所有的txt文件 阅读全文
posted @ 2019-05-08 20:19 挺锅锅 阅读(1033) 评论(0) 推荐(0)
摘要:模块的两种被执行方式 包 直接使用包中模块 # 如果只是想作为普通文件夹,py3中可以省略__init__文件,本质上文件夹也是包 # 导入的手段:1.指名道姓到某一个模块 | 2.指名道姓到某一个模块中的名字 包的管理 阅读全文
posted @ 2019-05-08 20:17 挺锅锅 阅读(2508) 评论(0) 推荐(1)
摘要:导入模板完成的三件事 起别名 模块的分类 # 大方向:内置(built-in) | 自定义(系统提供 | 第三方提高 | 自己自定义) 模块的加载顺序 # 内存 > 内置 > sys.path (安装环境变量中路径的先后顺序逐一加载) 环境变量 # 环境变量:存放路径的list,第一位默认一定是当前 阅读全文
posted @ 2019-05-08 20:14 挺锅锅 阅读(246) 评论(0) 推荐(0)
摘要:ASCII码表: 请熟记: 0-9 :48-57 A-Z :65-90 a-z : 97-122 binary 二进制 0b 。。。 octal 八进制 0o 。。。 hex 十六进制 0x 。。。 阅读全文
posted @ 2019-05-08 19:23 挺锅锅 阅读(365) 评论(0) 推荐(0)
摘要:# 1.max内部会遍历iter,将遍历结果一一传给lambda的参数x# 2.依据lambda的返回值作为比较条件,得到最大条件下的那个遍历值# 3.对外返回最大的遍历值 # 输出结果为: alex # min工作原理一样,得到的是最小值 阅读全文
posted @ 2019-05-08 19:13 挺锅锅 阅读(293) 评论(0) 推荐(0)
摘要:# 匿名函数:# 1.匿名函数没有函数名# 2.匿名函数的关键字采用lambda# 3.关键字 lambda 与标识函数功能体 : 之间一定是参数,所以省略()# 4.匿名还是没有函数体,只有返回值,所以函数体和返回值的return关键字都省略了 # 注意:# 1.参数的使用和有名函数一样,六种形参 阅读全文
posted @ 2019-05-02 22:38 挺锅锅 阅读(454) 评论(0) 推荐(0)
摘要:# send的工作原理# 1.send发生信息给当前停止的yield# 2.再去调用__next__()方法,生成器接着往下指向,返回下一个yield值并停止 # 案例: 阅读全文
posted @ 2019-05-02 22:36 挺锅锅 阅读(140) 评论(0) 推荐(0)
摘要:# 生成器:自定义的迭代器对象 # -- 就是用函数语法来声明生成器,用yield关键字取代return关键字来返回值,参数没有多少变化 # 总结:有yield关键字的函数,函数名() 不是调用函数,而是生成得到 生成器对象,生成器对象就是迭代器对象,可以通过 __next__() 进行取值 # 执行流程: def fn(): yield 1 yield 3 ... 阅读全文
posted @ 2019-04-29 16:03 挺锅锅 阅读(139) 评论(0) 推荐(0)
摘要:# 给可迭代器对象及迭代器对象添加迭代索引 阅读全文
posted @ 2019-04-29 16:02 挺锅锅 阅读(151) 评论(0) 推荐(0)
摘要:# 迭代器对象: 可以不用依赖索引取值的容器# 可迭代对象:可以通过某种方法得到迭代器对象 # 迭代器优点:可以不用依赖索引取值# 迭代器缺点:只能从前往后依次取值 可迭代对象 # 可迭代对象:有__iter__()方法的对象是可迭代对象,可迭代对象调用__iter__()得到迭代器对象 #思考: 阅读全文
posted @ 2019-04-29 16:01 挺锅锅 阅读(174) 评论(0) 推荐(0)
摘要:# 装饰器:满足开放封闭原则的一个闭包应用 # @outer语法来调用outer,规定传入被装饰的函数对象,所以参数固定为一个,接受被装饰的函数对象def outer(func): # 不能确定被装饰的函数的参数:来者不拒,用可边长来接受 def inner(*args, **kwargs): pa 阅读全文
posted @ 2019-04-29 15:14 挺锅锅 阅读(181) 评论(0) 推荐(0)
摘要:装饰器:就是闭包(闭包的一个应用场景) -- 把要被装饰的函数作为外层函数的参数通过闭包操作后返回一个替代版函数 优点: -- 丰富了原有函数的功能 -- 提高了程序的可拓展性 # 装饰器:满足开放封闭原则的一个闭包应用 # 使用装饰器(outer),得到新功能(inner) # 用被装饰的函数名去 阅读全文
posted @ 2019-04-29 09:11 挺锅锅 阅读(109) 评论(0) 推荐(0)
摘要:# closure:被包裹的函数,称之为闭包 # 完整的闭包结构:1.将函数进行闭包处理;2.提升函数名的作用域 # 案例:延迟加载 阅读全文
posted @ 2019-04-29 08:49 挺锅锅 阅读(151) 评论(0) 推荐(0)
摘要:# 作用:将局部的变量提升为嵌套局部变量# 1.必须有同名嵌套局部变量,就是统一嵌套局部与局部的同名变量# -- 如果局部想改变嵌套局部变量的值(发生地址的变化),可以用nonlocal声明该变量 阅读全文
posted @ 2019-04-29 08:46 挺锅锅 阅读(411) 评论(0) 推荐(0)
摘要:# 作用:将局部的变量提升为全局变量# 1.全局没有同名变量,直接提升局部变量为全局变量# 2.有同名全局变量,就是统一全局与局部的同名变量# -- 如果局部想改变全局变量的值(发生地址的变化),可以用global声明该变量 # 没有global修饰,num就是自己局部的变量 # 有global修饰 阅读全文
posted @ 2019-04-29 08:45 挺锅锅 阅读(442) 评论(0) 推荐(0)