python小白
杨少少
这个作者很懒,什么都没留下…
展开
-
循环
while循环定义:循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出为什么要使用:重复执行某些命令使用方法while 条件: 代码1 代码2 代码3print(3)例:while count < 5: print(count) count+=1 死循环与效率问题count=0while count < 5: # 5 < 5 print(count) # 0,1,2,3,4while原创 2020-09-06 14:48:04 · 461 阅读 · 0 评论 -
类型转换
类型转换纯数字的字符串转成intres=int('100111')print(res,type(res))float类型转换res=float("3.1")print(res,type(res))字符串类型转换str可以把任意其他类型都转成字符串res=str({'a':1})print(res,type(res))使用:内置方法按索引取值(正向取+反向取) :只能取msg='hello world'正向取print(msg[0])print(msg[5])反向取p原创 2020-09-06 14:47:19 · 102 阅读 · 0 评论 -
IO模型与虚拟环境
7 io模型(重点,抽象,难,面试重点)先理解这里:1 内存分为内核缓冲区和用户缓冲区(网络下载的资源,硬盘加载的资源,先放到内核缓冲区----》copy到应用程序的缓冲区,应用程序才能用这个数据)2 io模型: -阻塞io(BIO) -非阻塞io(NIO) -io多路复用() select(windows支持,windows不支持epoll,官方不提供redis的window版本),poll,epoll(linux支持) -异步io: -信号驱动io(理论,不在原创 2020-08-27 20:56:14 · 178 阅读 · 0 评论 -
Python中,线程池与进程池的shutdown用法,定时器,协程介绍,greenlet与gevent模块安装与讲解,asyncio(Python官方提供的实现协程模块)
为真理而斗争是人生最大的乐趣。——布鲁诺1 GIL锁:全局解释器锁,因为垃圾回收线程不是线程安全的,所有线程必须拿到这把锁,才能执行2 GIL跟互斥锁的区别?GIL锁不能保证我们自己的数据安全,自己使用互斥锁保证自己的数据安全3 不同线程数据交互两种方式: -共享变量:不同线程修改同一份数据要加锁(互斥锁) -通过queue:不需要考虑数据安全问题(线程安全了)4 死锁现象: -1 A线程拿到了A锁,等待B锁,B线程拿到了B锁,等待A锁,相互等待,永远等下去 -2 A线程拿到了A原创 2020-08-27 20:54:29 · 2162 阅读 · 0 评论 -
Python中生产者消费者理念,线程理论,线程开启,线程对象方法,多线程的数据共享,线程对象的其他用法,线程的互斥锁,GIL全局解释器锁理论
一知半解的人,多不谦虚;见多识广有本领的人,一定谦虚。1 开启进程的两种方式2 进程对象其他属性和方法: -pid进程id号,os.getpid() -ppid:父进程id号,os.getppid() -is_alive():当前进程是否存活 -terminate():关闭当前进程3 守护进程 -父进程结束,子进程也跟着结束 -t.daemon=True4 进程间数据隔离 -进程之前的数据是独有的,不同进程间不能相互使用5 队列 -Queue:实现进程间通信原创 2020-08-25 21:29:43 · 134 阅读 · 0 评论 -
Python中的 进程问题详解。守护进程,互斥锁,队列,IPC等介绍
口说不如身逢,耳闻不如目见。嘴上说不如亲身做,耳听为虚,一定要亲眼看到。1 进程调度# 1 先来先服务# 2 短作业优先# 3 时间片轮转# 4 多级反馈队列# 易语言2 僵尸进程与孤儿进程#1 僵尸进程:进程结束了,资源还没来得及回收#2 孤儿进程:主进程挂了,子进程还没结束,它就会被专门的进程接管3 进程对象及其他方法# 1 windows:tasklist |findstr 进程id号# 2 mac,Linux:ps aux | grep 进程id号# 3 进程对象:t原创 2020-08-24 21:17:26 · 144 阅读 · 0 评论 -
Python中进程理解以及进程的创建
忍得一时之气,免得百日之忧。在情绪冲动的情况下,做出的决策伤人伤己,总是让人追悔莫及。能忍住自己的脾气,是一种修养,更是一种能力。进程理论1、什么是进程进程是一个程序运行的过程2、什么是程序程序就是一堆代码文件3、串行、并发、并行串行:多个任务依次运行,一个运行完毕再运行下一个并行:多个任务是真的在同时运行,只有多个cpu才有并行的概念并发:多个任务看起来是在同时运行4、进程的创建windows:CreateProcesslinux:fork5、进程的终止正常退出原创 2020-08-24 21:13:50 · 137 阅读 · 0 评论 -
Python中的猴子补丁,内置函数,垃圾回收机制,并发的概念
大巧若拙,大辩若讷。 ——《道德经》真正灵巧优美的东西应是不作修饰的,真正的巧不在于违背自然的规律去卖弄自己的聪明,而在于处处顺应自然的规律。猴子补丁一.什么是猴子补丁:属性在运行时的动态替换,叫做猴子补丁(Monkey Patch)。二.猴子补丁的核心:核心就是用自己的代码替换所用模块的源代码来源解释:1,这个词原来为Guerrilla Patch,杂牌军、游击队,说明这部分不是原装的,在英文里guerilla发音和gorllia(猩猩)相似,再后来就写了monkey(猴子)。原创 2020-08-19 20:22:34 · 468 阅读 · 0 评论 -
元类,exec()用法,自定义元类控制子类的创建 —call—用法,属性查找顺序,单例模式
一花一世界,一叶一菩提元类1.什么是元类?:一切源自于一句话:python中一切皆为对象。class StanfordTeacher(object): school='Stanford' def __init__(self,name,age): self.name=name self.age=age def say(self): print('%s says welcome to the Stanford to learn Py原创 2020-08-18 20:57:31 · 199 阅读 · 0 评论 -
python中UDP基于套接字编程,并发的TCP与UDP编程,TCP与UDP的差异。
菩提本无根,明镜亦非台基于UDP协议的套接字通信:1.UDP是无连接的,先启动那一端都不会报错。UDP服务端:ss = socket() #创建一个服务器的套接字ss.bind() #绑定服务器套接字inf_loop: #服务器无限循环 cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送)ss.close() # 关闭服务器套接字UDP客户端:cs = socket()原创 2020-08-18 19:06:07 · 281 阅读 · 0 评论 -
python 中粘包问题(tcp通信下)python中上传下载文件实现方法。
一花一世界,一叶一菩提。粘包现象粘包的现象:[root@localhost]# netstat -ano活动连接 协议 本地地址 外部地址 状态 PID TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 468 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING原创 2020-08-14 19:55:47 · 221 阅读 · 0 评论 -
Python 套接字练习,以及会遇到的问题。
一花一世界,一叶一菩提。套接字(socket)编程历史上图就是我们所抽象出来的套接字层:也就是我们所学习的那些计算机语言给我们已经封装或者打包好的一些我们可以直接使用的套接字功能。什么是套接字(socket)Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。所以,我们无需深入理解tcp/原创 2020-08-13 18:21:02 · 263 阅读 · 0 评论 -
TCP协议与 UDP协议 网络的上网流程
Python 小白,网络集合。TCP协议与UDP协议1.TCP协议:可靠传输,==TCP数据包没有长度限制,理论上可以无限长,==但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。以太网头ip 头tcp头数据理论上可以无限长位于传输层, 提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service) 是指, 为了方便传输, 将大块数据分割成以报文段(segment) 为单位的数据包进行管理。原创 2020-08-12 19:55:40 · 433 阅读 · 0 评论 -
OSI 五层协议(小白学习,老手思考)
绝对要收藏,不可忽略的精华(OSI五层协议)OSI五层协议1.物理层通过上述的联系方式去与交换机或者是某些其他的网络机器连接。负责发送电信号bit(会把数据链路层发过来的数据转换成电信号)2.数据链路层以太网协议:数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思数据链路层的功能:定义了电信号的分组方式 即(以太网协议ethernet)ethernet规定一组电信号构成一个数据包,叫做‘帧’每一数据帧分成:报头head和数据d原创 2020-08-11 18:53:54 · 2797 阅读 · 0 评论 -
Python中的异常处理和套接字编程Socket
Python学习之从入门到放弃,喜欢的可以关注一下哦。异常处理1 什么是异常?异常是错误发生的信号,一旦程序出错就会产生一个异常。如果该异常没有被处理,该异常就会被抛出来,程序的运行随即终止异常的组成部分:1.具体哪一行代码抛出的异常2.异常的种类NameError:变量名没有定义过IndexError:索引不存在 l=[11,22] l[100]KeyError d={"k1":11} d["k2"]AttributeError:对象属性不存在 对原创 2020-08-10 19:16:01 · 369 阅读 · 0 评论 -
python中super()的用法,组合,多态,反射,等
Python心得1、 super().属性在子类派生的新方法中重用父类功能的方式二方式:调用super(自己的类名,self)会返回一个特殊的对象,super(自己的类名,self).属性,会参照当前类的mro列表去父类中查找属性特点:严格依赖于继承关系示例:class OldboyPeople: school = "oldboy" # 空对象,"艾利克斯",73,'male' def __init__(self,name,age,gender原创 2020-08-07 20:22:48 · 618 阅读 · 0 评论 -
类的继承属性,与其多属性继承问题。
今日内容继承什么是继承继承是一种新建类的方式,新建的类称之为子类,被继承的类称之为父类,基类,超类要注意:python是支持多继承的。为什么要继承子类会遗传父类的属性,所以继承是用来解决类与类之间代码冗余问题如何实现继承class Parent1: passclass Parent2: passclass Sub1(Parent1): passclass Sub2(Parent1,Parent2): passprint(Sub1.__bases__)原创 2020-08-06 16:55:10 · 666 阅读 · 0 评论 -
封装概念与隐藏属性,property(装饰器),绑定方法与非绑定方法
Python,封装概念与隐藏属性,property(装饰器),绑定方法与非绑定方法封装一, 什么是封装?封装指的就是把数据与功能都整合到一起,听起来是不是很熟悉,没错,我们之前所说的”整合“二字其实就是封装的通俗说法。二, 隐藏属性(1)在定义类或者初始化对象时,在属性前加__,就会将该属性隐藏起来 但该隐藏起始只是一种变形_类名__属性名,并没有真的隐藏起来例:class Student: __school = "oldboy" # _Student__schoo原创 2020-08-05 16:58:03 · 189 阅读 · 0 评论 -
面向对象编程,其属性特性,用法等
在PYTHON 海洋畅游面向对象编程1、如何基于面向对象的思想写程序面向对象的基本思路就是把程序中要用到的、相关联的数据与功能整合到对象里,然后再去使用,但程序中要用到的数据以及功能那么多,如何找到相关连的呢?我需要先提取选课系统里的角色:学生、老师、课程等,然后显而易见的是:学生有学生相关的数据于功能,老师有老师相关的数据与功能,我们单以学生为例,例1: 非面向对象编写的程序# 学生的数据stu_name = "egon"stu_age = 18stu_gender = "ma原创 2020-08-04 17:23:15 · 373 阅读 · 0 评论 -
re正则模块细解,面向对象编程思路的优劣。
Python小白,白嫖基地。一, re模块(正则表达式)正则表达式是什么:由一系列特殊字符拼接而成的表达式/规则,该表达式用于从一个大字符串中匹配出符合规则的子字符串正则表达式:记忆图正则表达式讲解示例:1 \w 模式匹配字母数字,以及下划线:s='a b\t,t-ie ns2_?(k8' #对象。print(re.findall('\w',f'{s}')) 结果:['a', 'b', 't', 'i', 'e', 'n', 's', '2', '_', 'k', '8']原创 2020-08-03 16:15:07 · 175 阅读 · 0 评论