第二十八天
面向对象收尾
- 基础数据类型
- 函数部分
- 内置函数:max min fillter map sorted
- 模块部分
- 面向对象
网络编程
概念
b/s c/s架构
c/s client server
b/s browser server
32位 我的ip
mac 地址
16个字节 数据大小
32位 我的ip
32位 端口
mac 地址
网络5层协议(默写)
应用层 (表示层) (会话层) python
传输层 port 四层路由器 四层交换机
网络层 ipv4 ipv6 路由器 三层交换机
数据链路 mac arp协议 网卡 二层交换机
物理层
socket
服务端
import socket
sk=socket.socket()
# sk.bind(('192.168.2.154'))
sk.bind(('127.0.0.1',9001))
sk.listen()
conn,addr=sk.accept()
conn.send(b"hello")
msg=conn.recv(1024)
print(msg)
conn.close()
sk.close()
客户端
import socket
sk=socket.socket()
sk.connect(('127.0.0.1',9001))
msg=sk.recv(1024)
print(msg)
sk.send(b'bye')
sk.close()
tcp 和udp
tcp(语音聊天/视频聊天)-线下缓存高强电影\qq远程控制\发邮件
需要先建立连接 然后才能通信的
占用链接\可靠(消息不会丢失)\实时性高\慢
建立连接---三次握手
客户端 向服务器发送 syn请求
服务端向客户端回复ack 并发送syn请求
客户端接收到请求之后 再回复 ack 表示建立连接
由 客户端的 connect + 服务端的 accept
断开连接----四次握手
客户端向服务端发送 fin请求
服务端回复ack确认
服务端向客户端发送fin请求
客户端回复 ack确认
有客户端的 close 和服务端的close
什么事三次握手?什么是四次握手? 为什么是三次 挥手是四次 ? 这个过程传递了什么?
server---------client
udp(发消息)--在线播放视频.\qq发消息\微信消息
不需要建立连接 就可以通信
不占用连接\不可靠\消息因网络丢失不稳定\快
包的导入
import sys
# import glance
# 导入一个包(文件夹) 相当于执行了 这个包下的 __init__ 文件
# 并不相当于把这个包所有的文件都导入进来了
#要想导入某个包的 (文件夹)下的文件
# 方式一 import as 语句
import glance.api.policy as policy
policy.get()
# 方式二
# from glance.api import policy 直接从一个包中导入文件
# policy.get()
# from glance.api.policy import get 直接从包的文件中导入函数名/变量名
# policy.get()
# from glance import api.policy #报错 from...import 后面不能带 .
# 进阶 先不学 day28 7.包的导入
import json
# 当你需要写一个功能
# 这个功能不是直接晕新的,而是被别人导入之后使用的,这种情况如果你的这个独立功能形成文件夹
# 文件夹内的所有文件都需要使用相对导入
#
#
# 但是如果我们自己开发一个项目,这个项目有一些文件是直接运行的,这种情况不适合相对导入
# 适合用绝对导入
# 进阶 https://www.cnblogs.com/Eva-J/articles/7292109.html
# 绝对导入 相对导入
选课分析
class Student():
def __init__(self,name):
self.name=name
class Course():
def __init__(self,name,price,period,teacher):
self.name=name
self.price=name
self.period=name
self.teacher=teacher
class Admin():
def __init__(self,name):
self.name=name
# 管理员登录
#
# 创建 学生 (让用户输入信息,然后实例化,然后写到文件里)
# 课程(让用户输入课程信息. 然后实例化, 然后写到文件里)
# 学生 可以学多门课
# 怎么保存(修改文件)(麻烦)
#
#
# 用上反射就简单
# 不管是学生 登陆 还是 管理员登录 这个地方不要用 if else 进阶需求
对代码有疑问欢迎交流
一个python爱好者 :
微信:at8685b

浙公网安备 33010602011771号