首页 > 其他 > 详细

第二十八天

时间:2020-03-21 05:11:09      阅读:36      评论:0      收藏:0      [点我收藏+]

面向对象收尾

  1. 基础数据类型
  2. 函数部分
    1. 内置函数:max min fillter map sorted
  3. 模块部分
  4. 面向对象

网络编程

概念

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 进阶需求

第二十八天

原文:https://www.cnblogs.com/xueba/p/12535665.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!