我的成长磨练,每天写博客,年轻人,卷起袖子,来把手弄脏吧! ------ 博客首页
摘要: 一、抢票小程序 from multiprocessing import Process,Lock import time import json import random import os #查看车票子进程 def seach(): time.sleep(random.randint(0,3)) 阅读全文
posted @ 2019-09-16 19:14 不喜 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 一、常用方法 join():阻塞主进程,主进程会等待子进程结束后结束主进程 #单个进程 from multiprocessing import Process import time def Text(): print('子进程开始') time.sleep(2) print('子进程结束') if 阅读全文
posted @ 2019-09-16 19:13 不喜 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 一、创建并开启子进程的两种方式 1.1方式一 #单个进程 from multiprocessing import Process import time def Text(): print('我是一个子进程') print('我的进程开始了') time.sleep(2) print('我的进程结束 阅读全文
posted @ 2019-09-16 19:12 不喜 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 一、操作系统背景知识 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统,点击进入 PS 阅读全文
posted @ 2019-09-16 19:09 不喜 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 一、手工操作——穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出 阅读全文
posted @ 2019-09-16 19:07 不喜 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 一、UDP协议 1.1 UDP实现简单通信 服务器 import socket soc= socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #socket.SOCK_DGRAM是UDP协议 soc.bind(('127.0.0.1',8080)) #绑定 阅读全文
posted @ 2019-09-16 19:03 不喜 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一、用套接字实现简单通信 1.1服务端 import socket soc = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #绑定IP地址和端口号 soc.bind(('192.168.11.195',8080)) #处于监听状态 soc.lis 阅读全文
posted @ 2019-09-16 19:02 不喜 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 一、c/s架构和b/s架构 c/s架构:客户端和服务器 eg:QQ、微信 c端 网络 s端 c端:就是客户端 s端:有固定IP,并且稳定一直在运行,支持高并发 b/s架构:浏览器和服务器 eg:京东、天猫 其实b/s架构的本质也是c/s架构 二、网络协议 什么是网络? 网络就是网络连接介质+网络协议 阅读全文
posted @ 2019-09-16 19:00 不喜 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 一、什么是单例模式 整个过程中只有一个实例,所有生成的实例都指向同一块内存空间,本质是为了节省空间 class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person('yjy',18) p 阅读全文
posted @ 2019-09-16 18:57 不喜 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 元类 我们需要牢记这句话: 一切皆对象:类实际上也是一个对象 先来举个例子: class Person: #Person实际上也是一个对象,一定有某个类实例化得到,而这个类就是元类 def __init__(self,name): self.name = name def score(self): 阅读全文
posted @ 2019-09-16 18:54 不喜 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 一、反射 hasattr():判断一个属性是否在对象中,返回True或者Flase class Foo: def run(self): print('run') def speak(self) print('speak') p = Foo() cmd = input('请输入命令:') if has 阅读全文
posted @ 2019-09-16 18:50 不喜 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一、issubclass 判断第一个类是不是第二个类的子类,返回True或Flase 二、isinstance 判断第一个参数是不是第二个参数的对象,返回True或Flase 三、断点调试 断电调试步骤 在想要加断点的地方用鼠标点击一下,你会看到一个红色圆圈 变红的地方,程序执行到,就会暂停 断电应 阅读全文
posted @ 2019-09-16 18:48 不喜 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 一、绑定方法 特殊之处:绑定给谁就是谁来调用,并且会把自身传过去 1.1 对象绑定方法 用来修改对象 1.2 类绑定方法 绑定给类,类来调用,会把类自身传过去(拿到一个类就得到一个对象) class Person: def __init__(self,name,age) self.name = na 阅读全文
posted @ 2019-09-16 18:47 不喜 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 组合&多态&封装 一、组合 1.1什么是组合 对象的属性是另一个对象 class Foo: pass class Bar: pass f = Foo() f.bar = Bar() 1.2 为什么要用组合 减少代码冗余 1.3 如何使用组合 首先我们有老师类和学生类,他们都有共同的属性,课程姓名,课 阅读全文
posted @ 2019-09-16 18:45 不喜 阅读(232) 评论(0) 推荐(0) 编辑