python
文章平均质量分 72
python笔记
早起早睡的程序员
这个作者很懒,什么都没留下…
展开
-
Python命名空间和作用域
Python命名空间和作用域Python作用域和命名空间命名空间作用域全局变量和局部变量global和nonlocal关键字Python作用域和命名空间命名空间命名空间是从名称到对象的映射,大部分的命名空间都是通过Python字典来实现的。命名空间提供了在项目中避免名字冲突的一种方法。各个命名空间是独立的,没有任何联系,所以一个命名空间中不能有重名,但不同命名空间是可以重名而没有任何影响的。一般有三种命名空间:内置名称(built-in names):Python语言内置的名称,比如函数名abs原创 2021-04-05 17:18:48 · 86 阅读 · 0 评论 -
python函数
python函数接受任意数量参数的函数只接受关键字参数的函数给函数增加元信息定义有默认参数的函数使用def语句定义函数是所有程序的基础。本章的目标是讲解一些更加高级和不常见的函数定义与使用模式。设计到的内容包括默认参数、任意数量参数、强制关键字参数、注解和闭包。另外,一些高级的控制流程和利用回调函数传递数据的技术在这里也会讲解到。接受任意数量参数的函数为了能让一个函数接受任意数量的位置参数,可以使用一个*参数。例如:def avg(first, *rest): return (first + su原创 2021-04-05 09:38:15 · 121 阅读 · 1 评论 -
python迭代器和生成器
Python迭代器和生成器迭代器的底层机制生成器自己对于yield关键字的简单理解迭代器的底层机制下面一段代码向我们演示了迭代期间发生的基本细节items = [1, 2, 3]it = iter(items)print(next(it))# 输出1print(next(it))# 输出2print(next(it))# 输出3print(next(it))# 报了一个异样如下# Traceback (most recent call last):# File "<std原创 2021-04-04 10:18:54 · 110 阅读 · 0 评论 -
python heapq
python heapqpython heapqpython heapq堆是一个二叉树,它的每个父节点的值都会小于或等于所有孩子节点的值。它使用了数组来实现:从零开始计数,对于所有的k,都有heap[k] <= heap[2k+1]和heap[k] <= heap[2*k+2] 。为了便于比较,不存在的元素被认为是无限大。堆最有趣的特性在于最小元素总是在根节点。初始话一个堆,可以使用list来初始话,或者可以通过一个函数heapify()来把list转化成堆。heapq.heappu原创 2021-03-24 23:01:46 · 178 阅读 · 0 评论 -
python collections
python collectionsdequedeque类似列表(list)的容器,实现了在两端快速添加(append)和弹出(pop)append(x)添加 x 到右端。appendleft(x)添加x到右端extend(iterable)扩展右侧extendleft(iterable)扩展左侧remove(x)移除找到的第一个 value。 如果没有的话就引发 ValueErrorclear()清空pop()弹出右侧popleft()弹出左侧index(x[, [原创 2021-03-24 22:36:02 · 58 阅读 · 0 评论