# python study day14
# 海龟绘图
# from turtle import * # 绘制矩形
# width (4) # 设置笔刷宽度
# forward(200) # 前进200
# right(90) # 右转90
# pencolor('red') # 笔刷颜色
# forward(100)
# right(90)
# pencolor('green')
# forward(200)
# right(90)
# pencolor('blue')
# forward(100)
# right(90)
# done() # 避免窗口立即关闭
# from turtle import * # 绘制五角星
# def drawStar(x, y):
# pu()
# goto(x, y)
# pd()
# seth(0) # set heading 0
# for i in range(5):
# fd(40)
# rt(144)
# for x in range(0, 250, 50):
# drawStar(x, 0)
# done()
# from turtle import *
# # 设置色彩模式是RGB:
# colormode(255)
# lt(90)
# lv = 14
# l = 120
# s = 45
# width(lv)
# # 初始化RGB颜色:
# r = 0
# g = 0
# b = 0
# pencolor(r, g, b)
# penup()
# bk(l)
# pendown()
# fd(l)
# def draw_tree(l, level):
# global r, g, b
# # save the current pen width
# w = width()
# # narrow the pen width
# width(w * 3.0 / 4.0)
# # set color:
# r = r + 1
# g = g + 2
# b = b + 3
# pencolor(r % 200, g % 200, b % 200)
# l = 3.0 / 4.0 * l
# lt(s)
# fd(l)
# if level < lv:
# draw_tree(l, level + 1)
# bk(l)
# rt(2 * s)
# fd(l)
# if level < lv:
# draw_tree(l, level + 1)
# bk(l)
# lt(s)
# # restore the previous pen width
# width(w)
# speed("fastest")
# draw_tree(l, 4)
# done()
# 网络通信就是两个进程之间在通信
# TCP 编程
# import socket,ssl # 创建一个基于TCP连接的Socket
# #s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建socket
# s = ssl.wrap_socket(socket.socket())
# # AF_INET指定使用IPv4协议,IPv6协议AF_INET6,SOCK_STREAM面向流的TCP协议
# s.connect(('www.sina.com.cn', 443)) # 建立连接,参数是tuple
# s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n')
# buffer = [] # 接收数据
# while True:
# d = s.recv(1024) # 每次最多接收1k字节
# if d:
# buffer.append(d)
# else:
# break
# data = b''.join(buffer)
# s.close() # 关闭连接
# header, html = data.split(b'\r\n\r\n', 1)
# print(header.decode('utf-8'))
# with open('C:\\Users\\LG\\Desktop\\sina.html', 'wb') as f:
# f.write(html)
# 服务器端编程
# import socket
# s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# s.bind(('127.0.0.1', 9898)) # 监听端口
# s.listen(5) # 指定最大连接数量
# print('Waiting for connection...')
# while True:
# sock, addr = s.accept() # 接受一个新连接
# t = threading.Thread(target=tcplink, args=(sock, addr)) # 线程处理连接
# t.start()
# def tcplink(sock, addr):
# print('Accept new conncetion from %s:...' % addr)
# sock.send(b'Welcome!')
# while True:
# data = sock.recv(1024)
# time.sleep(1)
# if not data or data.decode('utf-8') == 'exit':
# break
# sock.send(('hello, %s!' % data.decode('utf-8')).encode('utf-8'))
# sock.close()
# print('connection from %s:%s closed.' % addr)
# UDP 使用不需要建立连接。UDP的端口可以与TCP的相同,各自绑定
# import socket
# s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # SOCK_DGRAM类型是UDP
# s.bind(('127.0.0.1', 9999)) # 绑定端口
# while True:
# data, addr = s.recvfrom(1024) # 接收数据
# print('Received from %s:%s' % addr)
# s.sendto(b'hello, %s!' % data, addr)
# 客户端
# import socket
# s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# for data in [b'Alice', b'Bob', b'Cherry']:
# s.sendto(data, ('127.0.0.1', 9999)) # 发送数据
# print(s.recv(1024).decode('utf-8')) # 接收数据
# s.close()
# Received from 127.0.0.1:51876
# Received from 127.0.0.1:51876
# Received from 127.0.0.1:51876
# hello, Alice!
# hello, Bob!
# hello, Cherry!
廖雪峰Python学习笔记day14
最新推荐文章于 2024-10-01 05:04:32 发布