- 博客(25)
- 收藏
- 关注
原创 进程
一:进程中的其他知识进程隔离是为了保护操作系统中进程互不干扰而设计的一组不同硬件和软件的技术这个技术是为了避免进程A写入进程B的情况发生。进程的隔离实现,使用了虚拟地址空间。进程A的虚拟地址和进程B的进程隔离的安全性通过禁止进程间内存的访问可以方便实现from multiprocessing import Processn = 100def work(): global n n = 0 print('子进程内:‘,n)if __name__ == '__main__': p = Pro
2020-08-24 19:09:47 895
原创 进程应用,jion方法
一 multiprocessing模块介绍二 Process类的介绍三 Process类的使用四 join方法一 multiprocessing模块介绍python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似
2020-08-20 16:51:34 367
原创 解决粘包与并发
tcp服务端import subprocessimport osimport structimport jsonfrom socket import *server = socket(AF_INET,SOCK_STREAM)# print(server)server.bind(('123.0.0.1',8082))server.listen(5)while True: conn,client_addr = server.accept() print(conn)
2020-08-14 19:26:36 134
原创 套接字tcp
tcp服务端服务端应该满足的特性1、一直对外提供服务2、并发地提供服务import socketphone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 创建服务端的套接字对象,声明为网络传输用,数据为基于SOCK_STREAM=tcp协议的数据流形式phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) #就是他,在bind前加phone.bind(("127.0.
2020-08-13 16:36:29 127
原创 tcp协议与udp协议、上网的流程
一、tcp与udp协议传输层:1、协议:tcp/udp2、报头地址:端口号port,范围是0-65535,其中0-1023是给系统用的。3、IP(ip+Mac)+port可以定位到全球唯一的那个给予网络通信的应用程序4、tcp协议的通信需要先建立连接,连接分为客户端到服务端和服务端到客户端两个不同的单向通道。5、建立连接是为了传输数据,通常过程是:客户端提出开客户端通道的请求>>>服务端回复接受请求并同时提出开服务端通道的请求>>>客户端回复接受请求。这个过程
2020-08-12 16:23:43 400
原创 网络基础之网络协议篇
网络基础之网络协议篇一.操作系统基础二.网络通信原理互联网的本质就是一系列的网络协议osi七层协议互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层每层运行常见物理设备OSI七层协议数据传输的封包与解包过程tcp/ip五层模型讲解物理层数据链路层数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思数据链路层的功能:定义了电信号的分组方式以太网协议:ethernet规定:数据包的具体内容:mac地址*****:广播:网络层网络层功能:引入一套新的地址用来
2020-08-11 20:52:02 138
原创 异常处理
一、什么是异常异常是错误发生的信号,一旦程序出错就会产生一个异常如果该异常没有被处理,该异常就会抛出来,程序的运行随即终止异常是由三部分组成1、具体哪一行代码抛出的异常2、异常的种类 NameError:变量名没有定义 IndexError:索引不存在 l = [11,22] l[100]KeyError d = {"k1":11} d["k2]AttributeError:对象属性
2020-08-10 18:13:56 113
原创 继承、在子类派生的新方法中重用父类的功能、属性查找、继承的实现原理
一 、继承1、继承是类下建新类的方式,父类可以称为基类或超类,新类可以称为子类或派生类,子类可以继承父类的属性,所以继承是用来解决类与类之间代码冗余问题。2、父类可以被多个子类继承,子类亦可以继承多个父类。3、在python3中,最高祖类默认继承了内置的object类。但凡是继承了obiect类的子类,以该子类子子孙孙都称之为新式类python3中全是新式类4、在python2中,最高祖类没有默认继承,此时,该类及其子孙类都是经典类。除非明确最高祖类的父类为内置的object,那该类及其子孙类就
2020-08-06 18:40:47 340
原创 封装、property装饰器、绑定方法与非绑定方法
一、封装1、封装:封装是面向对象三大特征的最核心的一个特征,封装的结果是将装到对象或者类中的属性给隐藏起来。2、封装数据:**(1)在定义类或者初始化对象时,在属性前加__,就会将该属性隐藏起来但该隐藏起始只是一种变形_类名__属性名,并没有真的隐藏起来class Student: __school = "oldboy" # _school__school = "oldboyprint(print(Student.__school) # 报错print(Student._Stude
2020-08-05 17:11:14 128
原创 面向对象,类与对象,初始化方法,属性查找
一、面向对象的编程思想面向过程编程核心是“过程”二字,过程是解决问题的步骤,即先干啥再干啥后干啥基于该思想写程序就是在设计一条条的流水线优点:复杂的问题流程化、进而简单化缺点:扩展性差面向对象编程核心是“对象”二字,对象是一个用来盛放数据与功能的容器基于该思想写程序就是在整合程序优点:可扩展性强缺点:编程的复杂度高二、类与对象如何基于面向对象的思想写程序——基础版# 学生的数据stu_name = "egon"stu_age = 18stu_gender = "male"
2020-08-04 17:24:24 132
原创 re模块
re模块一:什么是正则?也被称为正则表达式:由一系列特殊字符拼接而成的表达式/规则,该表达式用于从一个大字符中匹配出符合规则的字符串。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。二:常用匹配模式1、\w和\W匹配字母数字下划线和非数字字母下划线import reres=re.findall('\w\w\w',"h ello 123_(0")print(res)
2020-08-03 16:47:18 140
原创 python导入循环问题
一、 循环导入模拟一个场景# m1.py# print('正在导入m1')## x = 'm1'# from m2 import y1、创建m2的名称空间2、执行m2.py,将执行产生的名字丢到m2.py3、在当前执行文件中拿到m2.y# m2.py# print('正在导入m2')# y = 'm2'## from m1 import x1、创建m1的名称空间2、执行m1.py,将执行产生的名字丢到m1.py3、在当前执行文件中拿到m1.x# 循环导入.pyimp
2020-07-24 18:21:18 254
原创 函数递归调用、模块、三元表达式、匿名函数、
一、函数递归调用函数的递归调用:就是在调用一个函数的过程中又直接或间接地调用自己# 示例一:直接调用# def foo():# print('hello')# foo()## foo()# 示例二:间接调用自己# def bar():# print('from bar')# foo()## def foo():# print('hello')# bar()## foo()# 异常:maximum recursion de
2020-07-23 21:58:48 184
原创 迭代器、生成器、生成式与面向过程编程
目录:一、迭代器二、 自定义迭代器三、面向过程编程四、生成式一、迭代器1、什么是迭代器器:工具迭代:是一个重复的过程,但每次重复都是基于上一次的结果而来的迭代器:就是一种不依赖于索引的取值工具names = ["egon","lqz","yj"]count = 1while count > len(names): print(names[count]) count +=12、为何要有迭代器特性:2.1 是一种通用的迭代取值方案2.2 惰性计算,节省内
2020-07-22 20:33:54 152
原创 闭包函数与装饰器
前言:1、闭包函数2、装饰器:有参装饰器无参装饰器叠加多个装饰器一、闭包函数闭包函数= 函数嵌套定义+函数对象+名称空间与作用域闭:指的是该函数是定义在一个函数内部函数包:指的是该函数访问了一个来自外层函数的变量为函数体传参:方案一:直接使用参数的形式传递# def wrapper(x):# print(x)### wrapper(111)# wrapper(222)方案二:把函数体想要的参数包给它# def outter(x):# # x =111
2020-07-21 20:22:20 87
原创 函数对象与嵌套、名称空间与作用域
前言:1、*与**在形参与实参中的应用2、函数对象3、函数嵌套4、名称空间与作用域一、*与**在形参与实参中的应用可变长参数可变长指的是参数的个数不固定站在实参的角度,实参是用来为形参赋值的,如果实参的个数不固定,那么必须要有对应的形参能够接收溢出的实参=>在形参中用*与**<=在形参名前加*:*会把溢出的位置实参存成元组,然后赋值其后的形参名# def func(x,*y):# print(x) ## x = 1# print(y) #y
2020-07-20 19:54:28 157
原创 python文件操作模式及文件指针移动
一、文件操作的模式文件的打开模式分为两大类一、控制文件读写操作的模式1 、r:只读(默认的):在文件不存在时则报错,文件存在时文件指针跳到文件开头f = open("a.txt",mode = "rt",encoding="utf-8")res = f.read()2、 w:只写,在文件不存在时则创建空文件,文件存在时则清空,文件指针跳到文件开头f = open("b.txt",mode= "wt",encoding = "utf-8")f.read()f.close()3 、a:只
2020-07-16 20:57:00 1697
原创 字符编码表
一、了解字符编码表一:计算机基础知识1、程序运行与三大核心硬件(cpu,内存,硬盘)的关系:任何一个程序都是先存放于硬盘上的,必须先由硬盘读取到内存,之后cpu去内存中取值然后执行2、程序运行过程中产生的数据最先放在内存中,计算机内部存取的数据用的都是010101010101的二进制二、文本编辑器和python解释器运行原理python程序运行的三个步骤python3 D:\a.py1、先启动python解释器2、解释器会将a.py的内容当成普通内存从硬盘读入内存,此时没有语法意义3、解
2020-07-15 19:47:50 2833
原创 字符串了解操作、列表字典元祖常用操作+内置方法
一、字符串了解操作1、find,rfind,index,rindex,count# find:# x = "hello egon egon egon"# res =x.find("egon")# 返回字符串最后一次出现的索引# res = x, find("egon123") # 查找,找不到则返回-1不会报错,找到了则显示索引# print(res)# s = "what you name"# print(s.find("name")) 显示索引# print(s.find(
2020-07-13 21:18:54 198
原创 for+range与可变不可变类型,数字字符串类型以及操作
for+range用法:# for x in range(3):# print('=' * 10)# print('步骤1')# print('步骤2')# print('步骤3')# for i in range (1,5,2)# 1为起始位置# 5为结束位置,顾头不顾尾,5结束位置取不到# 2为步长# >>> range(5) 起始位置默认为0,默认步长为1,单独一个值为结束位
2020-07-10 17:25:50 414
原创 python流程控制之while循环,for循环
一、 while循环#语法:while 条件:代码1代码2代码3print() while 10 >3:# print('hello1')# print('hello2')# print('hello3') 死循环,不停止count = 0# # while count < 6:# # print(count)# # count += 11、基本使用案例一:# db_name = 'egon'# db_pwd =
2020-07-09 19:27:13 186
原创 python基本运算符和流量控制if判断
一、基本运算符1、赋值运算age = 18(1)增量赋值age = 18age +=1 # age = age + 1print(age)age -= 10 # age = age -10age *=10 # age = age * 10age /=10 # age = age /10age //=10 # age = age //10age %=10 # age =age %10(2)交叉赋值x = 111y = 222x,y = y,x#temp = x#x =
2020-07-08 20:46:02 230
原创 python基本数据类型和算数运算符
基本数据类型一、数字类型1、整型int定义:age = 18作用:记录个数,年龄,出生年月,等级……2、浮点型float定义:x =1.1作用:记录价格,身高,体重,薪资……二、1、字符串类型str定义:在单引号、双引号、三引号内部包含一串数字。作用:记录描述性质的状态,比如名字、一段话、性别地址……引号的相同点:定义得到的都是str类型。引号的不同点:注意引号的嵌套,外层用双引号,内层就要用单引号s1 = ‘ my name is “yoyo”’三引号内的字符串可以写多行
2020-07-07 17:22:45 162
原创 python计算机硬件基础知识普及与编程语言的分类
计算机硬件基础知识普及1、控制器:计算机的指挥系统。2、运算器:实现算数运算和逻辑运算的部件。3、储存器:储存器是计算机的记忆功能,用来存取数据。ROM(计算机本身带的只读的一种内存)>内存:存放BIOS(计算机原始系统,基本的输入输出,只有蓝白字符)CMOS>‘硬盘’:断电数据丢失,但耗电量极低。运行BIOS程序的组成CPUROMCMOS4、输入设备:是向计算机输入数据(程序,数据,声音,图像,文字)的设备,常见的有鼠标,键盘5、输出设备:主要的有显示器,打印机。硬盘详
2020-07-03 15:35:40 162
原创 python入门001
什么是编程语言: python-》编程语言-》本质就是一门语言 语言的本质就是一个事物与另外一个事物沟通的介质/表达方式 人(奴隶主)-------人类的语言---------奴隶(人) 人(程序员)-------编程语言----------计算机 编程语言就是人与计算机沟通的介质
2020-07-02 21:17:56 119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人