随笔分类 -  Python

python入门笔记
摘要:3. 自定义异常: 自定义一个异常class,默认继承ExceptionError raise 抛出一个自定义的异常class的对象 python class PasswordException(Exception): def __init__(self,pw,min_length): self.p 阅读全文
posted @ 2018-03-04 14:17 hzhang_NJU 阅读(106) 评论(0) 推荐(0)
摘要:正则表达式:字符串匹配 1.单字符表示: . = 通配 /d = 数字 /w = 字母及数字 /s = 空格,Tab,\n,\t这些空白符 ''' 2.字符个数: ''' = 任意个(包括0) + = 至少一个 ? = 0或1个 {n} = n个 {n,m} = n~m个 ''' 3.组合举例: ' 阅读全文
posted @ 2018-03-04 14:15 hzhang_NJU 阅读(114) 评论(0) 推荐(0)
摘要:多线程,待完善 阅读全文
posted @ 2018-03-04 14:14 hzhang_NJU 阅读(93) 评论(0) 推荐(0)
摘要:待完善 阅读全文
posted @ 2018-03-04 14:14 hzhang_NJU 阅读(105) 评论(0) 推荐(0)
摘要:多进程,待完善 阅读全文
posted @ 2018-03-04 14:13 hzhang_NJU 阅读(108) 评论(0) 推荐(0)
摘要:1. 对象池: 为了减小创建相同对象的开销,python将以下的数据类型的instance放在对象池中(常驻内存)。如果需要的对象已经创建过,就直接去池子中拿:(无须每次都创建和销毁) 小整数:[ 5,257) 好像有变化了 单个英文字符 单个单词(以空格为分界线,有空格就是一个句子) c1 = ' 阅读全文
posted @ 2018-03-04 14:12 hzhang_NJU 阅读(177) 评论(0) 推荐(0)
摘要:常用标准库: 常用第三方库: 阅读全文
posted @ 2018-03-04 14:11 hzhang_NJU 阅读(117) 评论(0) 推荐(0)
摘要:1. 模块 模块 工具包;模块内类与函数 工具 python中一个py文件可以是一个模块 引入方式: import 模块名1,模块2... 模块名.函数名 import math print(sqrt(2)) 这样会报错 print(math.sqrt(2)) 这样才能正确输出结果 from 模块名 阅读全文
posted @ 2018-03-04 14:07 hzhang_NJU 阅读(127) 评论(0) 推荐(0)
摘要:2. 自定义类: | name | 说明 | 触发时机及功能 | | | | | | | 限制本类的instance的所有属性(以tuple的形式写死了,不能再定义更多的属性),但无法限制其子类| 定义实例属性时| | | 类似统计元素个数| | | | 将普通实例变成Iterable对象| for 阅读全文
posted @ 2018-03-04 14:06 hzhang_NJU 阅读(130) 评论(0) 推荐(0)
摘要:1. 基本结论 意义:集合具有迭代能力Iterable 可迭代:iterable isinstance([], Iterable) 能力 able 迭代器:iterator isinstance([], Iterator) 具备能力且本身可以是无穷的数据流才是tor 转化法:iterable 通过i 阅读全文
posted @ 2018-03-04 14:05 hzhang_NJU 阅读(260) 评论(0) 推荐(0)
摘要:1. 列表生成式 列表生成式 method_1 {太原始,不推荐} L = [] for i in range(1,11): [1,11) L.append(i i) print(L) method_2 最佳的办法 L1 = [x x for x in range(1,11)] print(L1) 阅读全文
posted @ 2018-03-04 14:04 hzhang_NJU 阅读(197) 评论(0) 推荐(0)
摘要:1. generator表达式: generator表达式 def test1(): L = [ x 2 for x in range(5)] list conprehension G = ( x 2 for x in range(5)) p(next(G)) p(next(G)) p(next(G 阅读全文
posted @ 2018-03-04 14:04 hzhang_NJU 阅读(109) 评论(0) 推荐(0)
摘要:1. 类装饰器必须接受一个callable对象 python强调“函数即对象”,说明对象可以当做函数用。即支持 对象名(实参) :背后的原理是为一个对象自定义__call__()方法,对象立即变成 callable对象, 当执行 对象名(实参) 时,自动激发该对象的__call__() class 阅读全文
posted @ 2018-03-04 14:02 hzhang_NJU 阅读(189) 评论(0) 推荐(0)
摘要:1. 原理 L:local,局部作用域,即函数中定义的变量; E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的; G:global,全局变量,就是模块级别定义的变量; B:built in,系统固定模块里面的变量,比如int, bytearray等 阅读全文
posted @ 2018-03-04 14:01 hzhang_NJU 阅读(128) 评论(0) 推荐(0)
摘要:1. 定义: Decorator(即装饰器)其实就是闭包实现的一个函数:把{一个待扩展功能的函数Fun}当做参数传入一个外函数Out,在外函数内部定义的内函数In“装饰扩充”Fun,然后返回In。 一句话描述:把一个函数A当参数传入另一个函数B,并返回一个函数C def Out(Func): def 阅读全文
posted @ 2018-03-04 14:01 hzhang_NJU 阅读(117) 评论(0) 推荐(0)
摘要:1. inner_sum便是一个闭包,他的生命周期和自由变量args一样。 def calc_sum( args): 可变参数 def inner_sum(): ix = 0 局部变量,暂存累加结果 for y in args: args是calc_sum这个外部函数的变量, 被内部函数{闭包}in 阅读全文
posted @ 2018-03-04 14:00 hzhang_NJU 阅读(145) 评论(0) 推荐(0)
摘要:1. 定义: 内层函数使用了外层函数作用域的变量(属于E区变量),则称内部函数为闭包。简单说就是: 外层函数里面定义了内层函数 内层函数引用了外层函数的变量(E区变量) 这不是闭包,只是函数的嵌套 def fun1(): def fun2(): print("fun2\n") return fun2 阅读全文
posted @ 2018-03-04 13:59 hzhang_NJU 阅读(115) 评论(0) 推荐(0)
摘要:1.原理 1.全局变量是指函数外定义的,局部是指函数体内定义的;函数内部global 定义的也是全局。 2.全局变量: 读操作:函数局部区或者全局区,均可以直接引用。(除非被局部变量屏蔽,想不被屏蔽,用global声明) 写操作:想要在函数局部区引用全局变量 1)若全局变量是dict和list (注 阅读全文
posted @ 2018-03-04 13:51 hzhang_NJU 阅读(78) 评论(0) 推荐(0)
摘要:2. 自定义类: | name | 说明 | 触发时机及功能 | | | | | | | 限制本类的instance的所有属性(以tuple的形式写死了,不能再定义更多的属性),但无法限制其子类| 定义实例属性时| | | 类似统计元素个数| | | | 将普通实例变成Iterable对象| for 阅读全文
posted @ 2018-03-04 13:50 hzhang_NJU 阅读(101) 评论(0) 推荐(0)
摘要:filter 定义:传入一个 与`Iterable对象I f(I(i)) True或False I(i)`。起到过滤器的功能 def is_odd(x): return (x%2 == 1) L1 = list(filter(is_odd, range(11))) filter和map类似,返回值都 阅读全文
posted @ 2018-03-04 13:46 hzhang_NJU 阅读(100) 评论(0) 推荐(0)