day16总结

1.运算符的重载

python中的数据类型都是类,数据都是对象
所有运算符对应的操作,都是在调用数据类型对应的魔法方法(每个运算符都有一个固定的魔法方法)

2.直接赋值,浅拷贝和深拷贝

  1. 直接赋值:把一个变量赋给另外一个变量,实质上是将变量存储的地址赋给另一个变量,两个变量指向同一个数据,互相影响

浅拷贝和深拷贝的基本原理:

开辟一块新的内存区域,来储存被拷贝的数据,将地址保存在新的变量中,两个变量存储不同的地址,互不影响
a.浅拷贝--没有拷贝子对象,原始数据改变,拷贝的数据的子对象会改变
1)字典、列表等的copy()方法,切片等都是浅拷贝
2)copy.copy(对象) -- 复制指定的对象,产生一个新的对象

b.深拷贝-- 拷贝了子对象,原始数据改变,不会改变拷贝的数据的子对象
copy.deepcopy(对象) -- 子对象也会拷贝一份
先检查变量1中的数据1中是否有变量2(其中变量存储的是数据2),如果有,则开辟一个新的内存空间保存数据2的值,并用变量3存储该地址。再开辟一个新的内存空间存储变量1中的除变量2以外的值,以及变量3,并用变量4存储新的内存地址

3.套接字(socket)

进行通信的两端就是套接字:有两种类型,分别是服务器套接字(等待其他链接),客户端套接字(主动连接其他端)

3.1.创建服务器的步骤

1.创建套接字对象(买个电话机)socket(family, type)
2.绑定ip地址和端口(插上电话线,绑定电话号码)bind(ip, port)
3.开始监听请求(按电池,等待别人打电话) listen(num) -- num设置能监听的个数
4.让服务器一直运行(用循环)while True
5.接收请求(接电话) -- 代码运行到这个位置会停下来,直到客户端和服务器发送请求为止 accept() - return client, addr
6.接收客户端的socket对象和地址,并保存下来,后面的发送、接收和结束都是用客户端的socket对象来调用方法
7.接收消息(听别人说,可以循环接收消息和发送消息,实现两人的一直通信)。recv(bufsize) -- bufsize设置一次接收消息的数据大小的最大值,返回的数据类型是字节(二进制)client.recv(bufsize) -- bufsize接收的数据大小
8.发送消息(二进制)client.send()
9.关闭连接client.close()

"""
family -- 设置ip协议,AF_INET(ipv4), AF_INET6(ipv6)
type -- 设置传输协议类型,SOCK_STREAM(TCP), SOCK_DGRAM(UDP)
"""

"""
bind((ip地址,端口))
ip地址 - 字符串,服务器对应的ip地址
端口 - int,端口号用来区分一台电脑上的不同服务. 0 - 65535, 0 - 1024是著名端口。同一时间一个端口只能绑定一个服务
bind方法传入的是一个元祖(ip地址,端口)
"""
"""
recv(bufsize) -- bufsize设置一次性能够接收的数据大小的最大值(接收时间),单位是字节
返回的数据类型是字节
"""

3.2创建客户端的步骤
1.创建套接字对象(客户端)
2.连接服务器 client.connect((ip地址,port))

  1. 发送消息client.send()
    4.接收消息client.recv
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • python中所有的数据类型都是类,数据都是对象所有的运算符对应的操作,本质都是在调用数据类型对应的魔法方法。 每...
    __e145阅读 187评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,792评论 1 32
  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 2,272评论 0 6
  • 一、运算符重载 通过在类中实现运算符对应的魔法方法,来让类的对象支持相关运算符的操作 python中所有的数据类型...
    墨2019418阅读 213评论 0 0
  • 2019-05-07 1.运算符重载 python中所有的数据类型都是,数据都是对象。 所有的运算符对应的操作,本...
    快请输入昵称吧阅读 161评论 0 0

友情链接更多精彩内容