随笔分类 - python从入门到精通
总感觉以前学了个假的python。趁着这段时间比较闲。把python从头到尾再来一遍吧
摘要:1、路由的分发 在django项目内容逐渐增多时,光一个全局路由可能导致看着不太直观。可以使用二级甚至三级等等 如上图。mysite项目内有两个app。test_app和test_app2。首先。我们在mysite的全局路由中。只需要分配二级路由的指向。关键字include。 #re_path可以使
阅读全文
摘要:#先来记下概念性东西 IO多路复用作用:检测所有IO请求(主要是socket)是否已经发生变化(是否已经连接成功/是否已经获取数据)(可读/可写) 同步:按顺序执行 阻塞:等待 异步:执行完成之后自动执行回掉函数或自动执行某些操作(通知) 非阻塞:不等待 协程:本身是个没什么用的东西,一般跟IO操作
阅读全文
摘要:说在前面: 并发和并行: 并发:伪,指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个线程同时执行的效果,但 在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。 并行:真,指在同一时刻,有多条指令在多个处理器上同时执行,无论从宏观还是微观来看
阅读全文
摘要:1、OSI 7层模型 osi7层模型分别是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。具体作用如下例子。 应用层:使用软件 打开软件或网站 表示层:看到数据,如图片和视频 生产数据:aabb 会话层:保持登陆或链接状态。 应用携带一点其他数据。令牌:eyJ0eXAiOiJKV1Qi
阅读全文
摘要:前言:鉴于socket实际工作基本不会直接接触,但是面试经常问。所以不花太多时间在这里。 1、利用socket来实现最基础的网络通信。 服务端: 用户端: 上述代码实现了一个很简单的功能。服务端等待用户连接。用户端连接之后发送一个hello然后关闭连接。服务端收到之后回复一个stop。然后断开连接,
阅读全文
摘要:1、反射 关键字: getattr 根据字符串的形式,去对象中找该成员 hasattr 根据字符串的形式,判断对象中是否有该成员 setattr 根据字符串的形式,去对象动态设置一个成员(内存) delattr 根据字符串的形式,去判断对象动态的设置一个成员(内存) 简单例子: 1、在handler
阅读全文
摘要:在python中,除了一些方法,属性之外,还有一些特殊成员
阅读全文
摘要:1、成员的分类: 1、变量 类变量:顾名思义就是类中的变量 实例变量:顾名思义就是实例化对象中的变量(__init__初始化的是实例变量) 如果能正确判断输出,估计就琢磨的差不多了 2、方法 实例方法: 需要调用构造方法初始化的值的时候使用(说白点就是要传参的) 需要实例化调用 def fun1(s
阅读全文
摘要:python的三个特性:封装、继承、多态 封装: 将相关功能封装到一个类 将数据封装到一个对象(__init__) 继承: 继承的目的是为了复用 多继承: 不同于其他语言,在python中,一个派生类可以继承多个基类,多继承(先找左,再找右),多继承可以提高复用性 以上代码打印结果为 当运行obj对
阅读全文
摘要:1、类似于Java的try-catch。在python中处理异常是try-except。 try中编写逻辑代码 except中编写异常处理代码 finally中编写遇到报错,程序结束之前执行的代码。 比较简单。初略过一下。
阅读全文
摘要:前言:个人觉得前期没必要太纠结os、和sys的一些详细指令,花时间去记没必要 os、sys、random os模块主要是和操作系统的交互,主要包括以下三种功能 1、文件夹和文件的处理: 创建文件夹: os.makedirs('x') --可创建多层目录 删除文件夹: os.rmdir('x') --
阅读全文
摘要:1、re模块的基础方法 1.1查找 findall:返回列表 找到所有的匹配项 search:匹配成功就返回一个变量,通过group取匹配到的第一个值,不匹配就返回None,group报错 match:相当鱼search的正则表达式中加了一个'^',其余没有区别 1.2切割和替换 split:返回列
阅读全文
摘要:前言:这一篇内容挺多。尽量写的有条理一点。。。。 1、正则: 正则大概可以分为元字符和量词两种: 其中元字符主要有:\d \w \s \n \t \b \W \D \S . ^ $ [] [^] | () 量词主要有: ? + * {n} {n,} {n,m} 几个字符的组合关系: 字符/元字符:只
阅读全文
摘要:1、内置函数补充 1、lambda 匿名函数 lambda 参数:返回值 函数名称统一叫lambda--这就是为什么叫匿名函数的原因 2、sorted() 排序函数 sorted(iterable, key, reverse) key:排序规则 运行流程:把可迭代对象中每一个元素交给后面的key函数
阅读全文
摘要:1、生成器: 生成器的本质就是迭代器 生成器的特点和迭代器一样,取值方式也和迭代器一样(__next__(),send():给上一个yield传值) 生成器一般由生成器函数或者生成器表达式来创建 其实就是手写的迭代器 2、生成器函数 和普通函数没有区别,函数里面由yield的函数的就是生成器函数 生
阅读全文
摘要:1、函数名的应用: 函数的命明规范和变量是一样的 函数名即变量名 应用如下: 2、闭包 闭包:在内层函数中访问外层函数的局部变量 作用: 1、可以保护变量不受外界影响 2、可以让变量常驻内存,不会被释放。 写法: 3、迭代器 for循环的本质就是迭代器。 可以用来遍历列表,字符串,元祖...可迭代对
阅读全文
摘要:#很多时候我们在定义函数的时候没法立即确定函数的个数,及类型。所以有了动态传参,这一点在python很多内置的模块中 尤为明显。 1、函数的动态传参 *args:位置参数动态传参 **kwargs:关键字参数动态传参 顺序:位置,*args,默认值,**kwargs def func(*args,
阅读全文
摘要:前言:函数主要是传参这一块儿 1、函数: 函数是对功能的封装 语法: def 函数名(形参列表): 函数体(代码块,return) 调用: 函数名() 2、函数的返回值 return:在函数执行的时候,如果遇到return,直接返回 2.1、如果不写return,默认返回为None 2.2、不屑re
阅读全文
摘要:前言:其实本人之前对于文件操作这方面。接触的真的不多。每次需要用啥就Google一下。这次正好也整理下 1、文件操作的函数: open(文件名(路径)), mode = '?', encoding='字符集' 2、模式: r(只读),w(只写),a(追加),r+(读写),w+(写读),a+(追加写读
阅读全文
摘要:1、之前的知识点补充: 1、str的join方法,把裂变转换成字符串 而split()切割,则可以把字符串换成列表 2、fromkeys() 返回新字典,对原字典没有影响 后面value,是多个key共享一个value 2、set集合 特点: 无序,不重复,元素必须可哈希(不可变) 作用: 本身是可
阅读全文