09 2017 档案
摘要:基于UDP的套接字 udp是无链接的,先启动哪一端都不会报错 udp服务端: udp客户端: udp套接字简单示例: 并发编程:进程 必备的理论知识:
阅读全文
摘要:一、什么是粘包 只有TCP有粘包现象,UDP永远不会粘包,为何,且听我娓娓道来 首先需要掌握一个socket收发消息的原理: 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的 两种情况下会发生粘包: 1.发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间
阅读全文
摘要:~为何学习socket一定要先学习互联网协议: 1.首先:本节课程的目标就是教会你如何基于socket编程,来开发一款自己的C/S架构软件 2.其次:C/S架构的软件(软件属于应用层)是基于网络进行通信的 3.然后:网络的核心即一堆协议,协议即标准,你想开发一款基于网络通信的软件,就必须遵循这些标准
阅读全文
摘要:面对对象进阶: 1.反射 1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。 2 python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射) 四个可以实现自省的
阅读全文
摘要:1、模块: 2、包: 包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。 比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。 就好像使用模块的时候,你不用担心不同模块之间的全局变量相互影响一样,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。 这样不
阅读全文
摘要:面向对象:封装 【封装】 隐藏对象的属性和实现细节,仅对外提供公共访问方式。 【好处】 1. 将变化隔离; 2. 便于使用; 3. 提高复用性; 4. 提高安全性; 【封装原则】 1. 将不需要对外提供的内容都隐藏起来; 2. 把属性都隐藏,提供公共方法对其访问。 1、私有属性和私有方法 1.私有属
阅读全文
摘要:1、复习: 子类的对象要去调用方法或者属性:自己有的调自己的,自己没有的调父类的self是什么:谁调用就是谁子类的对象调用父类的方法,在父类方法中的self是子类的对象class Foo: def get_test(self): self.test() def test(self): pass cl
阅读全文
摘要:一、复习: 二、面向对象3: 1.继承: 使用非绑定的类方法(用类名来引用的方法),并在参数列表中,引入待绑定的对象(self),从而达到调用父类的目的。 这样做的缺点是,当一个子类的父类发生变化时(如类B的父类由A变为C时),必须遍历整个类定义,把所有的通过非绑定的方法的类名全部替换过来,例如代码
阅读全文
摘要:面向对象2: 一、之前的知识回顾: 2 关于类的动态属性(方法): 这个方法本身就存在于类的空间,根本不会存在对象的内存中。 如果在对象调用类里面的方法,需要在类的内存中产生一个地址簿来对应类中的方法。 3 关于对象的属性: 对象的属性只存在于对象的命名空间, 只能被对象来调用和修改,如果类来调用或
阅读全文
摘要:面对对象1 面向过程 与 面向对象: 面向过程 ~面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。 缺点是:一套流水线或者流程就是
阅读全文
摘要:异常处理 1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误 2:什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 3:python中的异常种类 在python中不同的异常可
阅读全文
摘要:一、什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链
阅读全文
摘要:一 正则表达式,又称规则表达式,英文名为Regular Expression,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。实现过滤的功能。 1元字符 \w 匹配字母(包含汉字),数字,下划线 \d 匹配十进制数字
阅读全文
摘要:列举一些常用的内置函数: 1.chr()和ord() 需要注意的是,中文汉字也可以 2. join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 下面给出一个join函数使用的示例:#join无法将字符型和整型相加 3.compile()#将字符串编
阅读全文
摘要:一.什么是内置函数:别人已经定义好了的函数,我们只管拿来调用就好 locals:局部作用域中的变量 globals:全局作用域中的变量 这两者在全局执行,结果一样;在局部中locals表示函数内的名字,返回的是一个字典,globals始终不变 ~ iter:只接收可迭代对象,将可迭代的对象转换成迭代
阅读全文
摘要:一.复习 1.迭代器和生成器 可迭代对象 - 可迭代的 Iterable 内部含有__iter__ from collections import Iterable isinstance('要检测的值',Iterable) ~迭代器 内部含有__iter__,__next__可迭代对象 包含 迭代器
阅读全文
摘要:一 生成器的调用方法 生成器里面的值的只能按顺序调用一次,只能向前,不能后退。 生成器里面的值只是在调用的时候才被执行。 send:1 和next的用法一样,执行生成器,执行时必须带一个参数 2 send和next的起止位置完全相同,在生成器send关键字执行开始之前,需要先用next激活这个生成器
阅读全文
摘要:一.上周回顾复习· 函数: 1.函数名的本质 —— 就是一个变量 里面存储了函数的内存地址 函数名可以作为函数的参数、返回值。可以被赋值,可以作为可变数据类型的元素 2.函数的定义 ~参数——形参: 位置参数 *args 默认参数 **kwargs ~返回值 return 返回值为None 返回一个
阅读全文

浙公网安备 33010602011771号