python 学习笔记

tuple use ( )----内容不可修改
list use [ ]----内容可修改
set 
在函数定义中,元组变长参数用星号“*”标记,字典变长参数用双星号“**”标记
类中的成员函数必须要带参数self
构造函数是一种特殊的类成员方法,主要用来在创建对象时初始化对象,即为对象成员变量赋初始值。python中的类构造函数用__init__命名,python中不能定义多个构造函数,但可以通过为命名参数提供默认值的方式达到用多种方式构造对象的目的。

析构函数是构造函数的反向函数,在销毁(释放)对象时将调用它们。析构函数往往用来做“清理善后”的工作,例如数据库链接对象在析构函数中释放对数据库资源的占用。Python中为类定义析构函数的方法是在类中定义一个名字为__del__的没有返回值和参数的函数。

(如何定义属于每个对象自己的成员变量)---在构造函数中定义self引用中的变量,这样的成员变量在python 中叫作实例成员变量

python中支持两种基于类名访问成员的函数:静态函数和类函数。它们的不同点是类函数有一个隐形参数cls可以用来获取类信息,而静态函数没有该参数。静态函数使用装饰器@staticmethod定义,类函数使用装饰器@classmethod定义
类方法定义中第1个参数必须为隐形参数cls,在类方法中可以通过参数cls替代类名本身。

封装性是面向对象编程的重要特点,Python也提供了将不希望外部看到的成员隐藏起来的私有成员机制。但不像大多数编程语言用Public、Private关键字表达可见范围的方法,Python使用指定变量格式的方法定义私有成员,即所有以双下画线“__"开始命名的成员都为私有成员。
类之外的代码无法访问私有成员。

类之间的继承是面向对象设计的重要方法,通过继承可以达到简化代码和优化设计模式的目的。python类在定义时可以在小括号中指定基类,所有Python类都是object类型的子类,语法如下:
class BaseClass(object):  #父类定义
      block_class

class SubClass(BaseClass):  #子类定义
     block_class
在子类成员函数中用super关键字可以访问父类成员,其引用方法为super(SubClassName,self)
在子类的析构函数中调用基类的析构函数是一种最佳实践,不这么做可能导致父类资源不能如期被释放。

URL:为统一资源定位符,是用来表示Internet上资源位置的标准。资源位置包括资源所在的主机及其在主机内的访问路径。这里所说的资源是指Internet上任何可访问的对象,包括文本、图像、视频流等。URL的标准形式如下:
[协议]://[主机]:[端口]/[路径]?[参数]


端口是一个16位二进制数表达的正整数,数字范围为0~65535,即一个在网络上通信的主机理论上最多有65535个传输层信道。
应用程序(调入内存运行后一般被称为进程)通过系统调用与某端口建立连接(Binding,绑定)后,传输层传给该端口的数据都被相应的进程所接收,相应的进程发给传输层的数据都从该端口输出

UDP(User Datagram protocol)是一种无连接的传输层协议,提供面向事务的简单的不可靠信息传送服务。

HTTP可以传送任何格式的数据,从文本到图像甚至视频流都可以通过HTTP进行传输。

每个HTTP站点都有一个服务器进程监听者TCP的HTTP端口,HTTP端口默认为80,也可有服务器进程设置为其他端口。当服务器发现有客户端建立并提交了一个HTTP请求(Request)后,就根据请求的内容执行相应的操作,并将结果返回给客户端(Response).

HTTP的两种消息(Resquest和Response)采用不同的消息结构,Request的格式如下:
【请求】 【URL】 【协议版本】
【头字段1】:值1
...
【头字段N】:值N

【消息体】
(结构格式由两部分组成:消息头(HTTP HEAD)、消息体(HTTP BODY).消息头必须遵循上述格式,头字段可以有若干;消息体则没有固定格式;HEAD与BODY之间以一个空行分隔。

Response是服务器根据客户端的请求包做相应处理后向客户端返回的结果,Response的格式如下:
【协议版本】 【错误码】 【错误字符串】
【头字段1】:值1
...
【头字段N】:值N

【消息体】

每个Response的第1行中有一个整数状态码用于表达其对应Request的结果。HTTP除了约定了该状态的表达方式,还约定了该状态的取值范围,约定的5类状态码如下:
1xx:信息;表明服务器已经收到Request,但需要进一步处理,请客户端等待。
2xx:成功;处理成功。
3xx:重定向;请求的地址已被重定向,需要客户端重新发起请求。
4xx:客户端错误;请求中提交的参数或内容有错误。
5xx:服务器错误;服务器处理请求时出错,一般本类错误需要联系服务器管理员处理。
在网站开发中如需定义自己的错误代码,则需要避开该范围。

常见HTTP错误代码与HTTP1.1常用的访问方式及其意义

python 学习笔记

python 学习笔记

 

 

 

Socket使用IP地址+端口+协议的三元组唯一标识一个通信链路。服务器端的一个通信链路可以对应于多个客户端。