Python
大约 5 分钟
Python
介绍😎
- 2018
- 入门语言,学了又弃,弃而又学
- 下载:[https://registry.npmmirror.com/binary.html?path=python/](https://registry.npmmirror.com/binary.html?path=python/
pip镜像设置✋
- pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
Game🎁
- 贪吃蛇:https://blog.csdn.net/qq_37794658/article/details/105546981
- 移动弹球:https://blog.csdn.net/qq_37794658/article/details/105456363
开源库🚩
Pygame🍇
介绍🌟
- 安装 pip install pygame
图片加载⭐
- @date 2020/4/14 10:22
import pygame
pygame.init()
win = pygame.display.set_mode((600, 600)) # 画布窗口的大小
# 当前目录下的
space = pygame.image.load("a.jpg").convert_alpha()
while True:
# 拉伸图片
# space = pygame.transform.scale(space,(600,600))
# 循环事件
for event in pygame.event.get():
# 窗口x事件
if event.type == pygame.QUIT:
exit(0)
win.fill((64, 158, 255)) # 渲染底色
win.blit(space,(0,0)) # 加载图片
pygame.display.update() # 刷新画布
上下左右移动事件🍉
- @date 2020/4/14 12:58
import pygame
pygame.init()
width = 600
heigth = 600
win = pygame.display.set_mode((width,heigth))
x,y = 300,300
# 移动速度
speed = 10
while True:
# 设置游戏每秒运行速度 帧率
pygame.time.Clock().tick_busy_loop(60)
# 循环窗口事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit(0)
# 获取所有键盘状态
keys = pygame.key.get_pressed()
# https://www.pygame.org/docs/ref/key.html#pygame.key.get_pressed 对应key地址
if keys[pygame.K_UP]: y-=speed # 上
if keys[pygame.K_DOWN]: y+=speed # 下
if keys[pygame.K_RIGHT]: x+=speed # 左
if keys[pygame.K_LEFT]: x-=speed # 右
# 限制移动距离 右合下说明 由于方块的绘画是从 xy坐标开始的 即xy坐标的右边和下边进行绘画, 坐标>长或宽-速度 则 坐标 = 长或宽 - 速度
if x < 0:x=0
if x > width-speed:x=width-speed
if y <= 0:y=0
if y > heigth-speed:y=heigth-speed
win.fill((64,158,255)) # 底色
pygame.draw.rect(win, (255, 0, 0), (x, y, speed, speed)) # 创建苗点 参数依次是 窗口对象,颜色元组,坐标宽度元组
pygame.display.update()
碰撞处理😎
-@date 2020/4/14
import pygame
pygame.init()
width = 600
heigth = 600
win = pygame.display.set_mode((width,heigth))
x,y = 300,300
# 移动速度
speed = 20
space = pygame.image.load("b.jpg").convert_alpha()
space = pygame.transform.scale(space,(speed,speed))
i,j = 0,0
while True:
# 设置游戏每秒运行速度 帧率
pygame.time.Clock().tick_busy_loop(60)
# x,y = pygame.mouse.get_pos()
# 循环窗口事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit(0)
# 获取所有键盘状态
keys = pygame.key.get_pressed()
# https://www.pygame.org/docs/ref/key.html#pygame.key.get_pressed 对应key地址
if keys[pygame.K_UP]: y-=speed # 上
if keys[pygame.K_DOWN]: y+=speed # 下
if keys[pygame.K_RIGHT]: x+=speed # 左
if keys[pygame.K_LEFT]: x-=speed # 右
# 限制移动距离 右合下说明 由于方块的绘画是从 xy坐标开始的 即xy坐标的右边和下边进行绘画, 坐标>长或宽-速度 则 坐标 = 长或宽 - 速度
if x < 0:x=0
if x > width-speed:x=width-speed
if y <= 0:y=0
if y > heigth-speed:y=heigth-speed
win.fill((64,158,255)) # 底色
win.blit(space,(x,y))
win.blit(space,(i,j))
if i == x and j == y :
print("碰撞")
print("没有")
# pygame.draw.rect(win, (255, 0, 0), (x, y, speed, speed)) # 创建苗点 参数依次是 窗口对象,颜色元组,坐标宽度元组
pygame.display.update()
爬虫
基本示例
- 2021/12/19
- 安装依赖
- pip install lxml
- pip install bs4
import uuid
from io import BytesIO
import requests # 导入requests包 pip install requests
from PIL import Image
from bs4 import BeautifulSoup # pip install bs4 / pip install lxml
image_suffix = '4kdongman/'
home_url = "https://pic.netbian.com/"
def get_img(html_url=home_url+image_suffix, image_url=home_url):
str_html = requests.get(html_url)
soup = BeautifulSoup(str_html.text, 'lxml')
img_list = []
for i in range(1, 30):
# 需要获取标签
_str = soup.select('#main > div.slist > ul > li:nth-child(' + str(i) + ') > a > img')
if len(_str) > 0:
#print(_str) # 打印路径
# _list.append(_str)
img = str(_str[0])
start = img.find("src")
end = img.find(".jpg")
img_list.append(image_url + img[start + 6:end + 4])
return img_list
# 获取图片地址分页
def get_page(index=1, url_suffix=image_suffix):
if index <= 1:
return get_img(home_url + url_suffix)
else:
return get_img(home_url + url_suffix + "index_" + index.__str__() + ".html")
v_list = get_page(1)
print(v_list)
for i in get_page(2): # 下载时使用
print(i)
r = requests.get(i)
f = BytesIO(r.content)
img = Image.open(f)
name = str(uuid.uuid4()) + ".png"
img.save(r'E:\img\\' + name) # 文件夹必须存在
print(i, end="\n")
标签获取
Jwt使用
- pip install PyJWT
- 编码 jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256') #必须键值对
- 解码 jwt.decode(encoded, 'secret', algorithms=['HS256'])
介绍
- 安装 pip install pygame
图片加载
- @date 2020/4/14 10:22
import pygame
pygame.init()
win = pygame.display.set_mode((600, 600)) # 画布窗口的大小
# 当前目录下的
space = pygame.image.load("a.jpg").convert_alpha()
while True:
# 拉伸图片
# space = pygame.transform.scale(space,(600,600))
# 循环事件
for event in pygame.event.get():
# 窗口x事件
if event.type == pygame.QUIT:
exit(0)
win.fill((64, 158, 255)) # 渲染底色
win.blit(space,(0,0)) # 加载图片
pygame.display.update() # 刷新画布
上下左右移动事件
- @date 2020/4/14 12:58
import pygame
pygame.init()
width = 600
heigth = 600
win = pygame.display.set_mode((width,heigth))
x,y = 300,300
# 移动速度
speed = 10
while True:
# 设置游戏每秒运行速度 帧率
pygame.time.Clock().tick_busy_loop(60)
# 循环窗口事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit(0)
# 获取所有键盘状态
keys = pygame.key.get_pressed()
# https://www.pygame.org/docs/ref/key.html#pygame.key.get_pressed 对应key地址
if keys[pygame.K_UP]: y-=speed # 上
if keys[pygame.K_DOWN]: y+=speed # 下
if keys[pygame.K_RIGHT]: x+=speed # 左
if keys[pygame.K_LEFT]: x-=speed # 右
# 限制移动距离 右合下说明 由于方块的绘画是从 xy坐标开始的 即xy坐标的右边和下边进行绘画, 坐标>长或宽-速度 则 坐标 = 长或宽 - 速度
if x < 0:x=0
if x > width-speed:x=width-speed
if y <= 0:y=0
if y > heigth-speed:y=heigth-speed
win.fill((64,158,255)) # 底色
pygame.draw.rect(win, (255, 0, 0), (x, y, speed, speed)) # 创建苗点 参数依次是 窗口对象,颜色元组,坐标宽度元组
pygame.display.update()
碰撞处理
-@date 2020/4/14
import pygame
pygame.init()
width = 600
heigth = 600
win = pygame.display.set_mode((width,heigth))
x,y = 300,300
# 移动速度
speed = 20
space = pygame.image.load("b.jpg").convert_alpha()
space = pygame.transform.scale(space,(speed,speed))
i,j = 0,0
while True:
# 设置游戏每秒运行速度 帧率
pygame.time.Clock().tick_busy_loop(60)
# x,y = pygame.mouse.get_pos()
# 循环窗口事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit(0)
# 获取所有键盘状态
keys = pygame.key.get_pressed()
# https://www.pygame.org/docs/ref/key.html#pygame.key.get_pressed 对应key地址
if keys[pygame.K_UP]: y-=speed # 上
if keys[pygame.K_DOWN]: y+=speed # 下
if keys[pygame.K_RIGHT]: x+=speed # 左
if keys[pygame.K_LEFT]: x-=speed # 右
# 限制移动距离 右合下说明 由于方块的绘画是从 xy坐标开始的 即xy坐标的右边和下边进行绘画, 坐标>长或宽-速度 则 坐标 = 长或宽 - 速度
if x < 0:x=0
if x > width-speed:x=width-speed
if y <= 0:y=0
if y > heigth-speed:y=heigth-speed
win.fill((64,158,255)) # 底色
win.blit(space,(x,y))
win.blit(space,(i,j))
if i == x and j == y :
print("碰撞")
print("没有")
# pygame.draw.rect(win, (255, 0, 0), (x, y, speed, speed)) # 创建苗点 参数依次是 窗口对象,颜色元组,坐标宽度元组
pygame.display.update()