摘要:logging模块 函数式简单配置 logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有: filename:用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中。 filemode:文件打开方式,在指定了filename时
阅读全文
随笔分类 - python基础
摘要:常见异常 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 ArithmeticError AssertionError AttributeError BaseException BufferError By
阅读全文
摘要:算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘
阅读全文
摘要:isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 反射 1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问
阅读全文
摘要:封装 【封装】 隐藏对象的属性和实现细节,仅对外提供公共访问方式。 【好处】 1. 将变化隔离; 2. 便于使用; 3. 提高复用性; 4. 提高安全性; 【封装原则】 1. 将不需要对外提供的内容都隐藏起来; 2. 把属性都隐藏,提供公共方法对其访问。 私有变量和私有方法 在python中用双下划
阅读全文
摘要:接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 接口主要是java等语言中的概念,python中并没
阅读全文
摘要:面向对象的组合用法 软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合 圆环是由两个圆组成的,圆环的面积是外面圆的面积减去内部圆的面积。圆环的周长是内部圆的周长加上外部圆的周长。这个时候,我们就首先实现一个圆形类,计算一个圆的
阅读全文
摘要:面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。 应用场景:
阅读全文
摘要:导入模块几种方式 import my_module 在一行导入多个模块 from ... import... 也支持as 也支持导入多行 在my_moudle.py中新增一行 import time,importlib import aa time.sleep(20) # importlib.rel
阅读全文
摘要:什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。 序列化的目的 1、以某种存储形式使自定义对象持久化; 2、将对象从一个地方传递到另一个地方。 3、使程序更具维护性。 Json模块 Json模块提供了四个功能:dumps、dump、loads、load import js
阅读全文
摘要:时间模块 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是flo
阅读全文
摘要:re模块下的常用方法 import re ret = re.findall('a', 'eva egon yuan') # 返回所有满足匹配条件的结果,放在列表里 print(ret) #结果 : ['a', 'a'] ret = re.search('a', 'eva egon yuan').gr
阅读全文
摘要:字典推导式 例一:将一个字典的key和value对调 mcase = {'a': 10, 'b': 34} mcase_frequency = {mcase[k]: k for k in mcase} print(mcase_frequency) 例二:合并大小写对应的value值,将k统一成小写
阅读全文
摘要:列表推导式 [i for i in range(5)] #相当于 l=[] for i in range(5): l.append(i) 生成器表达式 列表推导式 [ ] 变成() 做成了一个生成器,可以用next()方法取出 g = (i for i in range(5)) print(next
阅读全文
摘要:迭代器的应用: 1。提供了一种不依赖索引的统一的迭代方法 2. 惰性计算,比如取文件的每一行 def aveage(): total = 0 day = 0 ave = 0 while 1: ave_num = yield ave total+=ave_num day+=1 ave = total/
阅读全文
摘要:https://www.processon.com/view/link/597fcacfe4b08ea3e2454ece?pw=oKfy
阅读全文
摘要:递归函数本质: 函数内部调用自身 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返
阅读全文
摘要:一:开放封闭原则,对扩展是开放的,对修改是封闭的二:装饰器,装饰器本质可以任意可调用对象,被装饰的对象也可以是任意 可调用对象, 装饰器的功能是: 在不修改被装饰对象源代码以及调用方式的前提下为期添加新功能 原则: 1.不修改源代码 2.不修改调用方法 目标:添加新功能装饰器模板: def deco...
阅读全文
摘要:#名字空间:存放名字与值的绑定关系#名称空间分为三种#内置名称空间:python解释器自带的名字,python解释器启动就会生成#全局名称空间:文件级别定义的名字都会存放与全局名称空间,执行python文件时会产生 #局部名称空间:定义在函数内部的名字,局部名称空间只有在调用函数时才会生效,函数调用
阅读全文