![](https://img-blog.csdnimg.cn/20190526140329806.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
python进阶
逐步掌握python的进阶知识
卡布达1号
寒蝉凄切,对长亭晚
展开
-
[python 进阶] 9. 符合Python风格的对象
文章目录9.1 对象表示形式9.2 再谈向量类本章包含以下话题:支持用于生成对象其他表示形式的内置函数(如 repr()、bytes(),等等)使用一个类方法实现备选构造方法扩展内置的 format() 函数和 str.format() 方法使用的格式微语言实现只读属性把对象变为可散列的,以便在集合中及作为 dict 的键使用利用 slots 节省内存。我们将开发一个简单的二...原创 2019-08-11 21:31:01 · 245 阅读 · 0 评论 -
python3[进阶]8.对象引用、可变性和垃圾回收
8.1变量不是盒子python变量类似于Java中的引用型变量,因此最好把他们理解为附注在对象上的标注.a = [1,2,3]b = aa.append(7)print(b)输出为:[1, 2, 3, 7]// 可以发现,a和b引用同一个列表,而不是那个列表的副本因为变量只不过是标注,所以可以为对象贴上多个标注,贴的多个标注就是别名.8.2 标识,相等性和别名每个变量...原创 2019-05-26 13:35:39 · 177 阅读 · 0 评论 -
[python 进阶] 第7章 函数装饰器和闭包
文章目录7.1 装饰器基础知识7.2 Python何时执行装饰器函数装饰器用于在源码中“标记”函数,以某种方式增强函数的行为。这是一项强大的功能,但是若想掌握,必须理解闭包。nonlocal 是新近出现的保留关键字,在 Python 3.0 中引入。除了在装饰器中有用处之外,闭包还是回调式异步编程和函数式编程风格的基础。本章的最终目标是解释清楚函数装饰器的工作原理,包括最简单的注册装饰器和...原创 2019-08-05 04:45:49 · 202 阅读 · 0 评论 -
python[进阶] 6.使用一等函数实现设计模式
python[进阶] 6.使用一等函数实现设计模式原创 2019-07-15 04:45:19 · 211 阅读 · 0 评论 -
python基础 dict和set
文章目录dict1、判断key是否存在2、要删除一个key,用pop(key)方法,对应的value也会从dict中删除3、和list比较,dict有以下几个特点:4、而list相反:5、dict的key必须是不可变对象set1、要创建一个set,需要提供一个list作为输入集合2、重复元素在set中自动被过滤:3、通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果4、通过...原创 2019-06-01 18:01:58 · 199 阅读 · 0 评论 -
python基础 list和tuple
文章目录list1、len()函数可以获得list元素的个数2、索引从0开始3、末尾追加 append('xx')4、也可以把元素插入到指定的位置,比如索引号为1的位置5、末尾删除pop()6、要删除指定位置的元素,用pop(i)方法,其中i是索引位置7、list里面的元素的数据类型也可以不同tuple1. tuple不可变2. 定义的方法2.1 t = (1,)2.2 t = ()3 '可变'...原创 2019-06-01 17:58:54 · 247 阅读 · 0 评论 -
collections 中的namedtuple
collections 中的namedtuple原创 2019-07-13 02:05:04 · 208 阅读 · 0 评论 -
关于python3中的包operator(支持函数式编程的包)
文章目录1.functools2.operator.itemgetter3.operator.attrgetter虽然 Guido 明确表明,Python 的目标不是变成函数式编程语言,但是得益于 operator 和functools 等包的支持,函数式编程风格也可以信手拈来。接下来的两节分别介绍这两个包。1.functools示例1 使用 reduce 函数和一个匿名函数计算阶乘f...原创 2019-07-12 06:39:20 · 848 阅读 · 0 评论 -
关于range方法,如果你觉得python很简单就错了
前言:在系统学习迭代器之前,我一直以为 range() 方法也是用于生成迭代器的,现在却突然发现,它生成的只是可迭代对象,而并不是迭代器!1、range() 是什么?对于 range() 函数,有几个注意点:(1)它表示的是左闭右开区间;(2)它接收的参数必须是整数,可以是负数,但不能是浮点数等其它类型;(3)它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但不能修改元素;...原创 2019-07-12 05:29:53 · 283 阅读 · 0 评论 -
关于python中函数传参数的小栗子
1def tag(name, *content, cls=None, **attrs): if cls is not None: attrs['class'] = cls if attrs: attr_str = ''.join(' %s="%s"' % (attr, value) for attr, value in sorted(attrs.i...原创 2019-07-10 23:05:27 · 136 阅读 · 0 评论 -
python【进阶】5.一等函数(注销)
在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果在 Python 中,所有函数都是一等对象。5.1 把函数视作对象>>> def d(n):... '''return n!'''... return 1 if n<2...原创 2019-07-04 15:53:29 · 176 阅读 · 0 评论 -
python【进阶】4.文本和字节序列
文章目录1. 字符、码位和字节表述4.1字符问题2. bytes、bytearray 和 memoryview 等二进制序列的独特特性3. 全部 Unicode 和陈旧字符集的编解码器4.避免和处理编码错误5.处理文本文件的最佳实践6.默认编码的陷阱和标准 I/O 的问题7.规范化 Unicode 文本,进行安全的比较8.规范化、大小写折叠和暴力移除音调符号的实用函数9.使用 locale 模块和...原创 2019-07-04 13:22:25 · 221 阅读 · 0 评论 -
python进阶(第三章2)字典和集合
python进阶(第三章2)集合论原创 2019-06-01 18:44:22 · 245 阅读 · 0 评论 -
python (第八章)补充-可迭代对象(补充高阶函数,以及常用的高阶函数)
可迭代对象我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象。迭代器而生成...原创 2019-05-26 14:01:54 · 154 阅读 · 0 评论 -
python进阶(第三章1) 字典
文章目录3.1 泛映射类型什么是可散列的数据类型(键的要求)字典的构造方法3.2 字典推导(dictcomp)3.3 常见的映射方法用setdefault处理找不到的键3.4 映射的弹性键查询3.4.1 defaultdict:处理找不到的键的一个选择注意:defaultdict与dict实例化字典类型的区别defaultdict的构造3.4.2 特殊方法__missing__3.5 字典的变种c...原创 2019-06-01 17:45:11 · 299 阅读 · 0 评论