跳至主要內容

Python

LiCheng大约 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🎁

开源库🚩

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()