Python入门day42——io模型
摘要:一:IO模型简洁 * blocking IO 阻塞IO * nonblocking IO 非阻塞IO * IO multiplexing IO多路复用 * asynchronous IO 异步IO 由于 signal driven IO(信号驱动IO)不常用,所以主要介绍其余4种 1.等待数据准备(
阅读全文
Python入门day41——进程线程高阶
摘要:1.死锁 与 递归锁(了解) 死锁现象 from threading import Thread from threading import Lock from threading import RLock # 递归锁 import time mutexA = Lock() mutexB = Loc
阅读全文
Python入门day39——进程线程补充详细
摘要:进程对象及其他方法 僵尸进程与孤儿进程(了解) 守护进程 互斥锁 多个进程操作同一份数据的时候,会出现数据错乱的问题 针对上述问题,解决方式就是加锁处理: 将并发变成串行,牺牲效率但是保证了数据的安全 进程间通信 队列Queue模块 IPC机制 生产者消费者模型 线程理论 致命三问 什么是线程 为何
阅读全文
Python入门day38——并发同步异步
摘要:一:必备知识回顾 1.计算机基础 计算机 又称之为 电脑,即 通电的大脑,发明计算机 是为了让它通电之后 能够像人一样去工作,并且它比人的工作效率更高,因为可以24小时不间断 2.计算机五大组成部分 控制器 运算器 存储器 输入设备 输出设备 计算机的核心真正干活的是CPU(控制器+运算器+存储器)
阅读全文
day37作业
摘要:服务端 import socket import struct import json import os server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('172.0.0.1', 8080)) serv
阅读全文
Python入门day37——tcp/udp进阶
摘要:一:基于TCP协议实现远程执行命令 服务端: # 服务端应该满足两个特点: # 1、一直对外提供服务 # 2、并发地服务多个客户端 import subprocess from socket import * server = socket(AF_INET, SOCK_STREAM) server.
阅读全文
day36作业
摘要:服务端: ``` import socket import subprocess phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 流式协议=》tcp协议 phone.bind(('127.0.0.1',8080)) # 0-65535
阅读全文
Python入门day36 —— TCP UDP通信
摘要:一:TCP基础版 服务端: import socket # 1.买手机 phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 流式协议 ==> TCP协议 # socket.socket(socket.AF_INET, socket.
阅读全文
Python入门day35——网络编程7层协议详解
摘要:一:7层协议详解: 1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层 数据传输: 二:三次握手 + 四次挥手 三次握手 四次挥手 三:以太网协议封装过程
阅读全文
选课系统
摘要:import os BASE_PATH = os.path.dirname( os.path.dirname(__file__) ) DB_PATH = os.path.join( BASE_PATH, 'db' ) settings '''管理员视图''' from interface impor
阅读全文
Python入门day34——网络编程基础
摘要:网络编程 1、CS架构与BS架构 2、网络通信 3、OSI七层协议 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设备 OSI七层协议数据传输的封包与解包过程 协议:规定数据的组织格式 格式:头部+数据部分 封包的过程:数据外加头 拆包的过程:拆掉头获取数
阅读全文
Python入门day34——异常处理
摘要:异常处理 1. 什么是异常 1.1 异常处理的三个特征 2. 为何处理异常 3. 如何处理异常? 3.1 语法上的错误SyntaxError 3.2 逻辑上的错误 3.3 针对逻辑上的异常又分成两种处理方式 3.2.1 错误发生的条件是可以预知的,使用if判断来解决 python print('st
阅读全文
Python入门day33——元类、属性查找
摘要:元类 一、什么是元类 二、 class关键字创建类的流程分析 三、如何自定义元类来控制类的创建 四、自定义元类控制类的调用 五、自定义元类控制类的调用=》类的对象的产生 属性查找
阅读全文
Python入门day33——反射、内置方法
摘要:反射 1.什么是反射? 2.为何要用反射? 3.如何实现反射? 内置方法 1、什么是内置方法? 2、为何要用内置方法? 3、如何使用内置方法
阅读全文
Python入门day30——mixins机制、super()、多态、绑定方法、内置函数
摘要:Mixins机制 多继承的正确打开方式:mixins机制 mixins机制核心:就是在多继承背景下尽可能地提升多继承的可读性 Python提供了Mixins机制,简单来说Mixins机制指的是子类混合(mixin)不同类的功能,而这些类采用统一 的命名规范(例如Mixin后缀),以此标识这些类只是用
阅读全文
day29作业
摘要:```python # 作业一:自己试验一下菱形问题下的属性查找顺序 class G(object): def test(self): print('from G') class E(G): def test(self): print('from E') class F(G): def test(self): print('from F') class B(E): def test(self):
阅读全文
Python入门day29——property、继承
摘要:一:装饰器 装饰器是在不修改被装饰对象源代码以及调用方式的前提下为被装饰对象添加 property是一个装饰器,是用来绑定给对象的方法伪造成一个数据属性 二:案例 一:什么是继承 I:继承是一种创建新类的方式,新建的类可称为子类或派生类,父类又可称为基类或超类,子类会遗传父类的属性 II:需要注意的
阅读全文
day28作业
摘要:```python # 1、练习上课作业讲解的面向对象代码,明天默写 # 2、基于上课作业讲解的面向对象代码,扩写Student类 # 3、加入序列化与反序列化操作 # 4、对象之间的关联采用id号 # 5、可以通过id找到对应的文件,然后从文件中反序列化出执行的学校、班级、课程、学生对象 import pickle import uuid import os class Student: uui
阅读全文
Python入门day28——封装
摘要:一:封装介绍 封装:面向对象三大特征 最核心 的一个特性 封装 整合 二:将封装的属性进行隐藏操作 1.如何隐藏:在属性名前加__前缀,就会实现一个对外隐藏属性效果 该隐藏需要注意的问题: I:在类外部无法直接访问双下滑线开头的属性,但知道了类名和属性名就可以拼出名字:类名__属性,然后就可以访问了
阅读全文
day27作业
摘要:```python # 选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合 # 1、学校数据与功能整合 # 2、课程数据与功能进行整合 # 3、学生数据与功能进行整合 # 4、讲师数据与功能进行整合 # 5、班级数据与功能进行整合 # ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合 # # 数据部分: # 校区的名字:如"老
阅读全文
day27——面向对象编程
摘要:一:面向过程 与 面向对象 面向过程: 面向对象: 程序 = 数据 + 功能 二:实现方法 初级版 进阶版 高级版 学生的功能 def tell_stu_info(stu_obj): print('学生信息 名字:%s 年龄:%s 性别:%s' % ( stu_obj['stu_name'], st
阅读全文
ATM+购物车
摘要:setting 1 ''' 2 存放配置信息 3 ''' 4 import os 5 6 # 获取项目根目录路径 7 BASE_PATH = os.path.dirname( 8 os.path.dirname(__file__) 9 ) 10 11 # 获取user_data文件夹目录路径 12
阅读全文
day25项目ATM+购物车
摘要:# 项目的说明书## 项目:ATM + 购物车# 项目需求: 1.额度15000或自定义 --> 注册功能 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 --> 购物功能、支付功能 3.可以提现,手续费5% --> 提现功能 4.支持多账户登录 --> 登录功能 5.支持账户间转账 -->
阅读全文
Python入门day24——re模块
摘要:一:常用匹配模式表 二:详解 import re # 匹配字母、数字、下划线 print(re.findall('\w','aAbc123_*()-=')) # ['a', 'A', 'b', 'c', '1', '2', '3', '_'] # 匹配非字母、数字、下划线 print(re.find
阅读全文
Python入门day24——logging模块
摘要:一:日志级别 import logging CRITICAL = 50 # FATAL = CRITICAL ERROR = 40 WARNING = 30 # WARN = WARNING INFO = 20 DEBUG = 10 NOTSET = 0 # 不设置 二:基本配置 import lo
阅读全文