随笔分类 - 老男孩学习
摘要:这是基于TCP连接的套接字模型。 UDP链接的套接字模型是这样的: UDP的会话的无关先启动哪一端,先启动服务端或者客户端都不会报错。 而且当客户端发消息的时候,无论服务端收到或者收不到都不会报错; 客户端和服务端收到的消息都分为两部分, (b"发送的内容",("127.0.0.1",4888))
阅读全文
摘要:比如说实现两个手机之间的通信,需要做的几部: 服务端: 1,买手机 2,插卡 3,开机 4,等电话链接 5,基于建立的链接,收发协议 6,挂电话 7,关机 客户端: 加上通信循环与链接循环: 服务端: 1 import socket 2 phone=socket.socket(socket.AF_I
阅读全文
摘要:反射:通过字符串来访问到所对应的值(反射到真实的属性上)。 eg: 定义某个功能,输入某条命令,打印下面的功能: item系列: 当触发某些属性的时候,执行某些操作。 __str__:打印对象信息 在对象被打印的时候触发执行,只能返回字符串类型。 __del__:在对象资源被释放的时候时触发。 eg
阅读全文
摘要:封装:将类的属性隐藏 #先看如何隐藏 1,在定义的属性之前加入__. 第二个问题:这种语法上的变形是在什么时候发生的 #在定义类阶段发生,并且只在这个阶段发生 比如说在上面的基础上,再定义一个Foo.__x=12121212121212121212 再去访问Foo.__x这个属性, 是可以访问的到的
阅读全文
摘要:接口:在程序的使用中,我不能把程序的主体直接提供给使用者,一般是提供一个接口。 为什么要使用接口: 1,接口提取了一群共同的函数,可以把接口当做一个函数的集合。 2,让子类去实现接口中的函数。 归一化的好处: 归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备什么功能就可以了。 归一化使
阅读全文
摘要:supper:可以利用supper来重用父类的方法,可以不用指名道姓的调用了。 supper:supper是依赖于继承的。 C继承了A和B, 先打印C的执行顺序列表,如果表里边有,然后再去按顺序向后检索。如果表里边没有,报错。 绑定方法与非绑定方法: 绑定到类的方法: 例如定义了一个类,然后从配置文
阅读全文
摘要:可以将那些重复的,固定的东西提出来,单独定义一个类。 例如: 例如这种:
阅读全文
摘要:继承可以分为但继承,多继承。 经典类和新式类: 两者区别在python3中是没有区别的,都有有个继承,如果没定义继承,也会默认将object继承,都叫新式类。 两者的区别在python2才有区别,没有定义就是经典类,如果定义了继承就是新式类。 类的继承: 总结; 1,继承功能之一:解决类与类之间代码
阅读全文
摘要:写一个小练习,定义好一个类,每初始化一次,计数器+1,统计最后次数. 写一个小程序,能够实现类之间的类的交互: eg:例如LOL的英雄,互相攻击,交互剩余血量的问题
阅读全文
摘要:面向对象讲解: ‘’‘ 面向过程: 核心是过程二字,过程指的是问题的解决步骤,基于过程去设计程序,就好比在设计一条流水线,是一种机械式的思维方式。 优点:复杂的问题流程化,进而简单化 缺点:可扩展性差 应用场景:脚本程序,比如说linux系统管理 面向对象: 核心是对象二字,对象就是特征与技能的结合
阅读全文
摘要:TIME模块: print(time.time()) #指的是从1970年到现在的秒数 print(time.strftime('%Y-%m-%d %X')) #指定特定的格式输出时间 print(time.localtime()) #得到的是一个对象,如果想要看下面的子模块,看哪个模块就在后边加上
阅读全文
摘要:用作匹配数据的方法: # . [] [^] .: 本身代表任意一个字符print(re.findall('a.c','a a1c a*c abc a c aaaaac aacc')) #[]内部可以有多个字符,但是本身只匹配字符中的一个print(re.findall('a[1 2 3]c','a
阅读全文
摘要:定义完一个有名函数,可以直接利用函数名+括号来执行,例如:func() 有名函数: 匿名函数: 一些内置函数的意思:内置函数又被称为工厂函数 abs():取绝对值 #布尔值为假的情况:None,空,0,False all():传可迭代对象,判断是不是所有的值布尔值是不是为真。 any() :传可迭代
阅读全文
摘要:一个文件中定义了很多模块,然后可以再别的文件中调用这几个模块。 #导入模块(import) #1,执行源文件 #2,产生以源文件为基础的全局名称空间。
阅读全文
摘要:递归调用: 在调用一个函数的过程中,直接或间接的调用函数本身。 def func(): print('from func') 间接调用: def foo(): print('form foo') bar() def bar(): print('form foo') foo() 递归都是有次数限制的。
阅读全文
摘要:#yield: #1.把函数的执行结果封装好_iter_ 和_next_,即得到一个迭代器。 #2.与return功能类似,都可以返回值,但不同的是,return只能返回一次值,而yield可以返回多次值。 #3.函数暂停与再继续运行的状态是由yield保存。 #yield的表达式应用: 面向过程:
阅读全文
摘要:生成器:在函数内部包含yield关键,那么该函数执行的结果就是生成器。 生成器就是迭代器。 yield的功能: 1,把函数结果做成生迭代器(以一种优雅的方式封装好_iter_) 2,函数暂停与在继续运行的状态是由yield来保存的 yield和return的比较?? 相同:都有返回值的功能 不同:r
阅读全文
摘要:迭代器: 是一个重复的过程,每一次重复都是基于上一次的结果而来。 可迭代对象: 凡是对象有_iter_方法(对象._iter_),该对象就是可迭代对象。 字符串,列表,元组,字典等都是可迭代对象。 可迭代对象._iter_()=i 迭代器的优点: 1,提供了一种统一的(不依赖索引)的迭代方式 2,迭
阅读全文
摘要:装饰器: #遵循开放封闭原则:对扩展是开放的,对修改是封闭的。 #装饰器本身可以可以是任意可调用的对象,被装饰的对象本身也可以是任意可以调用的对象。 #装饰器遵循的原则: 1,不修改被装饰对象的源代码 2,不修改被调用对象的调用方法 #装饰器的目的: 在遵循1和2的原则的前提下,为其他函数添加新功能
阅读全文
摘要:闭包函数: 闭包函数是在作用域的前提下 闭包含数:定义在函数内部的函数,包含对外部作用域名字的引用,而不是对全局作用域名字的引用,那么该内部函数就称为闭包含数。 eg: 闭包函数顺序可以这样写: 先写需要执行的函数,然后写外部需要定义的值,然后再写外边的皮,然后将里边的函数返回。 闭包函数的作用:
阅读全文

浙公网安备 33010602011771号