2019-10-27 Python Python lambda 表达式 我们知道在 Python 中定义一个函数使用 def 关键字。实际上,Python 中还有另一种定义函数的语法,使用 lambda 关键字即可定义一个短小的 匿名函数。 阅读全文…
2019-10-21 Python Python 闭包 闭包(closure)作为一个不太容易理解的概念出现在很多主流编程语言中,Python 中很多高级实现都离不开 闭包,装饰器 就是使用 闭包 的典型例子。 阅读全文…
2019-10-13 Python Python 运算符 + 与 += Python 中如果需要对一个变量进行增量运算通常有两种写法,a = a + b 或 a += b。虽然两种方法能够得到同样的结果,但两者却并不完全等价。 阅读全文…
2019-09-22 Python 善用 setdefault 和 defaultdict 处理 Python 字典中找不到的键 当以 dict[key] 的形式获取字典中某个键的值的时候,如果 key 不在字典中,我们将得到一个 KeyError 异常。由于处理异常需要写额外的代码,所以我们往往更多的使用 dict.get(key, defalut) 的形式来获取字典中某个键的值。这种情况下如果 key 不在这个 dict 中,也会返回一个指定的默认值 default,而不至于抛出异常。 阅读全文…
2019-09-18 Python Python 上下文管理器实现 在 Web 开发中,我们经常需要对资源进行操作,如从数据库中读取数据、日志文件的写入等。这些都是常见的资源操作,而资源是有限的,所以当我们对资源操作完成以后就需要对其进行释放。如果资源没有得到释放,当资源占用数达到了操作系统的限定数,就会导致程序崩溃。 阅读全文…
2019-09-15 Python Python 可变类型作为函数默认参数时的副作用 在 Python 中定义函数时,可以为其指定 默认参数,这样就不必在每次调用函数时都传递参数进去,并且可以简化我们的代码。 阅读全文…
2019-09-14 Python Python 函数参数的传递方式 Python 中一切皆 对象,而对象又分为 可变类型 和 不可变类型。当将不同类型的对象作为参数传入函数时,往往会产生不同的效果。究其原因,是由于不同类型的对象有着各自不同的特性所导致的。 阅读全文…
2019-09-13 Python 搭建 Jupyter Notebook 服务 工欲善其事,必先利其器。Jupyter Notebook 在 Python 生态中的地位想必不用我多讲,看到下图你就会明白它有多强大。 阅读全文…
2019-09-08 Python Python 赋值与拷贝 变量的赋值在 Python 中,要创建一个列表 [1, 2, 3] 并赋值给变量 a 的语法是这样的:a = [1, 2, 3]。通常我们称 a 为 变量名,[1, 2, 3] 为 变量的值。 给一个变量赋值的操作实际上就是将一个变量名指向一个对象,a = [1, 2, 3] 就相当于将变量名 a 指向 [1, 2, 3] 这个列表对象。此时将变量 a 再赋值给变量 b:b = a,相当于将变量 b 也指向 [1, 2, 3] 列表。最终 a 和 b 指向的是同一个 [1, 2, 3] 列表。 阅读全文…