一.楔子
你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢?
这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.p...
进程
相关概念
进程
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述...
信号
Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发生操作时会被通知到。 简单来说,信号允许特定的sender通知一组receiver某些操作已经发生。 这在多处代码和同一事件有关联的情况下很有用。
内置信号
模型信号
django.db.models.signals模块定义了模型系统发送的一组信号。
...
阅读目录
楔子
python中的for循环
可迭代协议
迭代器协议
为什么要有for循环
初识生成器
生成器函数
列表推导式和生成器表达式
本章小结
生成器相关的面试题
返回顶部
楔子
假如我现在有一个列表l=['a','b','c','d','e'],我想...
迭代器和生成器
迭代和可迭代
什么是迭代(iteration)?
如果给定一个list或tuple,我们要想访问其中的某个元素,我们可以通过下标来,如果我们想要访问所有的元素,那我们可以用for循环来遍历这个list或者tuple,而这种遍历我们就叫做迭代。
可迭代(iterable)?
其实你已经知道,不是所有的数据类型都是可迭...
推导式的套路
之前我们已经学习了最简单的列表推导式和生成器表达式。但是除此之外,其实还有字典推导式、集合推导式等等。
下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式。
variable = [out_exp_res for out_exp in input_list if out_exp == 2] out_exp_res: 列表生成元素表达...
楔子
如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做?
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
你说,so easy!
l.index(66)...
我们之所以用index方法可以找到,是因为python帮我们实现了查找方法。如果,index方法不给你用了。。。你还能找到这...
装饰器
此文可能是有史以来最全的关于Python装饰器的Blog了...
函数名的运用
关于函数名
函数名是⼀个变量,但它是⼀个特殊的变量。与括号配合可以执⾏函数的变量。
查看函数名的内存地址:
def func(): print('呵呵')print(func) # <function func at 0x10983c048>
做变量
def func(): print...
面向对象基础
面向对象和面向过程
编程思想是什么,就是用代码解决现实生活中问题的思路。
面向过程
核心点在过程二字,过程指的是解决问题的步骤,说白了就是先做什么再干什么。这种解决问题的思路就好比是工厂中的流水线。
运维同学工作中接触到的shell脚本就是典型的按步骤做事。
优点:复杂的问题流程化...
面向对象进阶
类型判断
issubclass
首先,我们先看issubclass() 这个内置函数可以帮我们判断x类是否是y类型的子类。
class Base: passclass Foo(Base): passclass Bar(Foo): passprint(issubclass(Bar, Foo)) # Trueprint(issubclass(Foo, Bar)) # Falseprint(issubclass(Bar, Base)) # True
t...