随笔分类 -  Python之路

摘要:# 记录用户行为或者报错信息 import logging # 配置错误日志有两种方法 # 方法1:通过basicconfig # 配置简单。但是能做的事情少,解决不了中文乱码,不能同时输出到屏幕和文件 # logging.debug('debug message') # logging.info('info message') # logging.warning('warning m... 阅读全文
posted @ 2019-07-17 15:19 恶灵酒 阅读(331) 评论(0) 推荐(0)
摘要:1 import configparser 2 3 # config = configparser.ConfigParser() 4 # config["DEFAULT"] = {'Port':3306, 5 # 'Server_name':'localhost', 6 # 'Server_ip':... 阅读全文
posted @ 2019-07-17 15:19 恶灵酒 阅读(194) 评论(0) 推荐(0)
摘要:封装 隐藏对象的属性和实现细节,近对外提供公共访问方式 广义:代码保护,面向对象思想 狭义:将属性,方法隐藏起来 小结: 所有的私有,都是在变量左边加双下划线 所有的私有,在类内部随便调用,不能在类外部使用,__dict__是投机取巧的方法 私有包括:私有属性,私有方法,私有静态 几个内置函数 pr 阅读全文
posted @ 2019-04-29 11:21 恶灵酒 阅读(203) 评论(0) 推荐(0)
摘要:1.什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 2.继承的派生与super的使用 3.多继承 此处只讨论python3 钻石继承 阅读全文
posted @ 2019-04-03 18:00 恶灵酒 阅读(173) 评论(0) 推荐(0)
摘要:1.面向对象引入 先来创建一个小游戏:人狗大战 以上方法会出现 “人咬狗”的错误。衍生了人狗大战第二版 2.面向对象编程理解 3.面向对象初识 4.面向对象练习 4.1 人狗大战面向对象版 4.2 圆的面积和周长 小结: 阅读全文
posted @ 2019-03-26 17:43 恶灵酒 阅读(296) 评论(0) 推荐(0)
摘要:递归实现: 堆栈实现: 阅读全文
posted @ 2019-03-26 11:12 恶灵酒 阅读(162) 评论(0) 推荐(0)
摘要:模块 1.什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写 阅读全文
posted @ 2019-03-25 11:08 恶灵酒 阅读(162) 评论(0) 推荐(0)
摘要:参考云游道士:https://www.cnblogs.com/yyds/p/6563608.html 1.什么是序列化 序列化就是将字典,数字等数据类型转换为字符串数据类型 所说的序列就是字符串 2.为什么要序列化 1.把内存中的各种数据类型的数据通过网络传送给其它机器或客户端; 2.把内存中的各种 阅读全文
posted @ 2019-03-21 15:52 恶灵酒 阅读(224) 评论(0) 推荐(0)
摘要:collections模块 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.queue:队列 双端队列 使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。 deque是为了高效实现插入和删除 阅读全文
posted @ 2019-03-18 11:46 恶灵酒 阅读(146) 评论(0) 推荐(0)
摘要:简单认识正则表达式 正则测试工具:http://tool.chinaz.com/regex/ re模块常用方法 python中需要注意的两个特殊优先级情况 1.findall() 优先级 2.split() 优先级 计算器作业 综合联系与扩展 1.匹配标签 2.匹配整数 阅读全文
posted @ 2019-03-14 17:44 恶灵酒 阅读(219) 评论(0) 推荐(0)
摘要:在一个函数调用这个函数本身就是递归函数 递归函数默认深度最大997 当然,最大深度也是可以调整的,根据计算机性能改变 递归实例: A 比 B大2岁,B 比 C大2岁,C 比 D大2岁,D 比 E大2岁,E今年20岁。 如果你问A的年龄,则由 A 推到 E,再由 E 计算到 A 。得到下面一个小公式 阅读全文
posted @ 2019-03-14 10:26 恶灵酒 阅读(156) 评论(0) 推荐(0)
摘要:匿名函数,好像也就是 lambda 表达式 先来看一段函数,返回 用lambda表达式写: 匿名函数表达式: 练一练: 匿名函数的牛扳之处在于它真的可以匿名: 可以与lamba 表达式合作的内置函数有,min,max,filter,map sorted等 练一练2: 答案1分析:提到匿名函数就要想到 阅读全文
posted @ 2019-03-08 15:23 恶灵酒 阅读(121) 评论(0) 推荐(0)
摘要:作用域相关 locals() -- 获取执行本方法所在命名空间的局部变量的字典 globals() -- 获取全局变量的字典 迭代器相关的 range next 迭代器.__next__ == next(迭代器) iter 迭代对象.__next__ == iter(可迭代对象) 其他 print( 阅读全文
posted @ 2019-03-06 16:49 恶灵酒 阅读(264) 评论(0) 推荐(0)
摘要:生成器中取值的三种方法 方法1:next() 方法2:for 循环 方法3:数据类型的强制转换 send() 方法 send 获取下一个值得时候给上一个yield位置传递一个数据 第一个 yiled 必须使用next 获取下一个值 最后一个yield 不能接受任何值 send方法获取动态平均值小练习 阅读全文
posted @ 2019-03-01 15:08 恶灵酒 阅读(162) 评论(0) 推荐(0)
摘要:1.from functools import wraps 这个函数可以保留原来函数的属性 hello inner None 在这是掉functools模块的调用以后,可以看出,我们调用的函数 car() 实际是闭包函数里面的inner()函数。如果加入functools模块呢 亲爱的詹姆斯先生,神 阅读全文
posted @ 2019-02-28 16:07 恶灵酒 阅读(184) 评论(0) 推荐(0)
摘要:生成器 在 Python 中,使用了 yield 的函数被称为生成器(generator)。 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。 在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 阅读全文
posted @ 2019-02-26 17:48 恶灵酒 阅读(197) 评论(0) 推荐(0)
摘要:1.开放封闭原则 原则: 开放封闭原则,对扩展是开放的,对修改是封闭的。 封版概念:当写好一个功能以后,就不可以再修改此函数,避免下面一系列的调用产生错误。 因此产生了装饰器 2.装饰器形成过程 我们来模拟一个发明汽车的过程。首先封装了一个汽车,汽车可以跑起来就是已经封装好的功能函数 按照开放封闭思 阅读全文
posted @ 2019-02-25 11:30 恶灵酒 阅读(128) 评论(0) 推荐(0)
摘要:函数的命名空间 从python解释器开始执行之后,就在内存中开辟了一个空间,每当遇到一个变量的时候,就把变量名和值之间的对应关系记录下来。 但是当遇到函数定义的时候解释器只是象征性的将函数名读入内存,表示知道这个函数的存在了,至于函数内部的变量和逻辑解释器根本不关心。 等执行到函数调用的时候,pyt 阅读全文
posted @ 2019-02-20 10:49 恶灵酒 阅读(164) 评论(0) 推荐(0)
摘要:python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 定义一个函数 函数代码块以 def 关键词开头,后接函 阅读全文
posted @ 2019-02-12 15:52 恶灵酒 阅读(293) 评论(0) 推荐(0)
摘要:打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。 不同模式打开文件的列表: 1.只读操作:(r,rb) 对于r:需要注意encoding表示编码集。根据文件的实际保存编码进行获取数据,对于我们而言,更多的是utf- 阅读全文
posted @ 2019-01-29 19:27 恶灵酒 阅读(215) 评论(0) 推荐(0)