1.

random模块

 

导入

import random

 

 

随机整数

包括最大值,不可加步长

random.randint(最小值,最大值)

不包括最大值,但可以给步长

random.randrange(最小值,最大值,步长)

 

 

随机选择一个返回

 

random.choice(列表)

 

 

随机取多个返回

随机取多个,返回结果是列表

random.sample(列表,取几个)

 

 

打乱顺序

用于洗牌,会改变列表自身数据

random.shuffle(列表)

 

2.IP地址

windows

cmd 命令提示符下

ipconfig

 

第二十七次总结:random模块,网络编程(2)

 

linux

在终端

ifconfig

 

第二十七次总结:random模块,网络编程(2)

IP地址的分类

  • ipv4

  • ipv6

 

分类寻址

IPV4被分为五大类:ABCDE

A类为:点分四组中的第一组地址范围为0~127的IP地址。已二进制来看就是“首位为0”

B类:128~191.二进制首位为10

C类:192~223.二进制首位为110

D类:224~239.二进制首位为1110

E类:240~255.二进制首位为1111

 

二进制

数据逢二进一

十进制 二进制
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000

 

 

进制转换

十进制转换为二,八,十六进制的方法

num = 15  # 进制的转换
​
m = bin(num)  # 十制制转二进制
print(m)
ba = oct(num)   # 十进制转八进制
print(ba)
sl = hex(num)   # 十进制转十六进制
print(sl)

结果

0b1111
0o17
0xf

 

 

udp通信

udp收发消息

  • 创建套接字

    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  • 发消息

    udp_socket.sendto(bytes类型数据,(IP地址字符串,端口整数型))
  • 收消息

    udp_socket.recvfrom(字节数)

    返回值,元组

    (bytes数据,(str发件方的ip,int发件方的端口))

  • 关闭套接字

    udp_socket.close()

 

 

 

数据类型的转换

str转bytes

变量 = str对象.encode(编码格式)

 

byte转str

变量 = bytes对象.decode(编码格式)

 

示例

a = "好"
print(a, type(a),"a")
b = a.encode("utf8")
print(b, type(b),"b")
​
c = b.decode("utf8")
print(c, type(c),"c")

效果

C:\Users\python_hui\Anaconda3\python.exe G:/untitled2/28/03udp/3.py
好 <class 'str'> a
b'\xe5\xa5\xbd' <class 'bytes'> b
好 <class 'str'> c
​
Process finished with exit code 0
​

 

 

三次握手

 

第二十七次总结:random模块,网络编程(2)

四次挥手

 

第二十七次总结:random模块,网络编程(2)

 

互联网五层协议

 

原图:

 

第二十七次总结:random模块,网络编程(2)

套接字工作流程

 

第二十七次总结:random模块,网络编程(2)

相关文章:

  • 2021-07-05
  • 2021-09-04
  • 2021-04-12
  • 2021-11-27
  • 2021-12-14
  • 2022-02-27
猜你喜欢
  • 2021-06-27
  • 2021-12-24
  • 2021-07-25
  • 2021-10-22
  • 2022-12-23
  • 2022-03-04
  • 2021-05-17
相关资源
相似解决方案