随笔分类 -  Python

摘要:为什么需要枚举 枚举(Enum)是一种数据类型,也是一种特别的类,是绑定到唯一值的符号表示,可以使用它来创建用于变量和属性的常量集枚举类可以看成是一个下拉菜单,给出特定的选项且这些选项不可修改,更贴近自然语言的方式表达数据,可以让代码更容易阅读、维护,减少转换或者错误值引起的问题,enum定义了四个 阅读全文
posted @ 2023-05-17 13:22 木子七 阅读(560) 评论(0) 推荐(0) 编辑
摘要:面向对象封装特点之一就是通过实现好的方法来访问,限制对数据的不合理访问,把对象状态私有化,仅供类的内部进行操作 下方示例,Test方法的number属性类实例的时候传递1,number是一个公开属性,可以在外部任意修改、访问,没有对属性进行进行约束 class Test: def __init__( 阅读全文
posted @ 2023-04-11 14:27 木子七 阅读(156) 评论(0) 推荐(0) 编辑
摘要:ABC类全称是Abstract Base Classes 抽象基类可以通过ABC派生来简单创建 抽象基类的特点: 基类不应允许初始化 接口方法未实现时报告相关错误 可以把抽象基类想象成建筑的设计图纸,然后子类按图施工 abc模块提供了一个元类ABCMeta可定义抽象类 还有一个工具类ABC 可有以继 阅读全文
posted @ 2023-04-07 15:54 木子七 阅读(297) 评论(0) 推荐(0) 编辑
摘要:栈stack 栈是一种容器,也称堆栈,可以存入数据元素、访问、删除元素 特点在于只允许容易的一端(栈顶端指标)进行加入数据和输出 没有位置概念,保证任何时候可以访问、删除的元素都会最后存入的元素,确定了一种默认的访问顺序 由于栈数据结构只允许在一端操作,按照后进先出的原理运作 队列queue 队列是 阅读全文
posted @ 2023-03-27 11:03 木子七 阅读(40) 评论(1) 推荐(0) 编辑
摘要:正则在线测试工具:https://regexr-cn.com/ 正则练习网站:https://codejiaonang.com/ 元字符 . * + ? \ [ ] ^ $ { } | ( ) 匹配固定字符串 content = '身高:178,体重:168,学号:123456,密码:7654' r 阅读全文
posted @ 2022-10-12 17:56 木子七 阅读(66) 评论(0) 推荐(0) 编辑
摘要:faker是一个生成伪造数据的Python第三方库,可以伪造城市,姓名,文班等各自信息,而且支持中文 安装 pip3 install faker 使用 # 导包 from faker import Faker # 实例化,保存到变量fake中 fake = Faker() # 随机生成名字 prin 阅读全文
posted @ 2022-09-24 10:33 木子七 阅读(176) 评论(1) 推荐(0) 编辑
摘要:在python中所有东西都是对象,都是object,函数也不例外 装饰器本身就是一个可调用的函数,装饰器也叫语法糖,在闭包的基础上实现 装饰器的作用:不影响原因函数的功能,还能添加新的功能 装饰器语法 #定义装饰器函数 def decorator(): ... @decorator #使用@加装饰器 阅读全文
posted @ 2022-08-25 17:40 木子七 阅读(44) 评论(0) 推荐(1) 编辑
摘要:闭包概念: 内部函数对外部函数作用域里变量的引用 函数内的属性,都是有生命周期的,都是在函数执行期间 闭包可以让一个变量长期在内存中不被释放 内部函数的生命周期 def func(): # 外部函数 print('this is func.') def in_func(): # 内部函数 print 阅读全文
posted @ 2022-08-25 10:24 木子七 阅读(49) 评论(0) 推荐(0) 编辑
摘要:.copy() 浅拷贝 如上图 定义列表A指向一个元素,列表A里面嵌套两层列表分布指向两个元素,定义列表B,列表B=A,列表C浅拷贝列表A 从图上可以看出,列表A和列表B指向的是同一个列表元素,而列表C ,使用.copy()浅拷贝生成了一个新的列表元素 但是列表C只有第一层列表生成了新的元素,内部嵌 阅读全文
posted @ 2022-05-27 00:21 木子七 阅读(281) 评论(0) 推荐(0) 编辑
摘要:apscheduler是一款使用python 语言开发的定时任务工具,提供了非常丰富而且简单易用的定时任务接口 #安装 pip3 install apscheduler apscheduler的四大组件 triggers 触发器 可以按照日期、时间间隔或者 contab 表达式三种方式触发 job 阅读全文
posted @ 2022-05-27 00:09 木子七 阅读(334) 评论(0) 推荐(0) 编辑
摘要:Q:为什么要引入多线程 A:提升程序运行的速度 进程和线程的定义 一个工厂,至少有一个车间,一个车间至少有一个工人,最终是工人在工作 一个程序,至少有一个进程,一个进程中至少有一个线程,最终是线程在工作 python程序运行时,内部会创建一个进程(主进程),在进程中创建了一个线程(主线程),由线程逐 阅读全文
posted @ 2022-05-22 17:25 木子七 阅读(58) 评论(0) 推荐(0) 编辑
摘要:主程序 # -*- coding: utf-8 -*- # @Time: 2022/5/20 22:26 # @Author: LiQi # @Describe: 主程序 import pygame from plane_sprites import * """飞机大战主程序""" class Pl 阅读全文
posted @ 2022-05-22 12:49 木子七 阅读(834) 评论(0) 推荐(0) 编辑
摘要:添加并监听英雄发射子弹事件 class Hero(GameSprite): def __init__(self): # 调用父类方法,设置image super().__init__('./images/me1.png', 0) # 设置英雄的初始位置 self.rect.centerx = SCR 阅读全文
posted @ 2022-05-22 12:48 木子七 阅读(382) 评论(0) 推荐(0) 编辑
摘要:创建英雄类 """英雄精灵""" class Hero(GameSprite): def __init__(self): # 调用父类方法,设置image super().__init__('./images/me1.png', 0) # 设置英雄的初始位置 self.rect.centerx = 阅读全文
posted @ 2022-05-22 12:04 木子七 阅读(383) 评论(0) 推荐(0) 编辑
摘要:使用定时器添加敌机 游戏启动后,每隔一秒出现一架敌方飞机 每架飞机向屏幕下方飞行,速度各不相同 没加敌机出现的水平位置也不进相同 当敌机从屏幕下方飞出,不会再飞回到屏幕中 定时器 pygame中使用pygame.time.set_timer()来添加定时器 所谓定时器,就是每隔一段时间,去执行一些动 阅读全文
posted @ 2022-05-22 02:09 木子七 阅读(692) 评论(0) 推荐(0) 编辑
摘要:背景交替滚动 游戏启动后,背景图像不断的向下移动 在视觉上产生角色不断向上移动的错觉 游戏背景不断变化,游戏主角的位置报错不变 实现方案 创建两张背景图 第一张完全和屏幕重合,第二章在屏幕的正上方 两种图像一起向下运动,当当前角色的 rect.y>=屏幕高度时,说明已经移动到欧美下方 将移动到屏幕下 阅读全文
posted @ 2022-05-22 01:18 木子七 阅读(96) 评论(0) 推荐(0) 编辑
摘要:职责明确 新建plane_main.py 封装主游戏类 创建游戏对象 启动游戏 新建plane_sprites.py 封装游戏中所有需要使用的精灵子类 提供游戏的相关工具 #plane_sprites.py import pygame # 常量定义屏幕大小 SCREEN_RECT = pygame. 阅读全文
posted @ 2022-05-22 00:15 木子七 阅读(110) 评论(0) 推荐(0) 编辑
摘要:在之前案例中,图像加载、位置变化、绘制图像都需要编写代码分别处理 pygame提供了两个类简化开发步骤 pygame.sprite.Sprite #精灵,存储图像数据image和位置rect的对象 pygame.sprite.Group #精灵组更新和绘制所有精灵对象 派生精灵子类 定义子类继承py 阅读全文
posted @ 2022-05-20 22:15 木子七 阅读(737) 评论(0) 推荐(0) 编辑
摘要:事件event:游戏启动后,用户针对游戏的所有操作 监听:在游戏循环中,判断用户的具体操作 pygame中通过pygame.event.get()可以获得当前用户所做动作的事件列表 事件监听 while True: for evnet in pygame.event.get(): ... 退出事件 阅读全文
posted @ 2022-05-20 02:35 木子七 阅读(268) 评论(0) 推荐(0) 编辑
摘要:游戏循环的开始,意味着游戏的正式开始,游戏循环的作用如下 1.保证游戏不会直接退出 2.变化图像的位置--动画效果 3.检测用户交互--按键、鼠标等 游戏时钟 pyagame提供了一个pygame.time.Clock类,录设置屏幕绘制速度--刷新帧率 要使用时钟对象需要两步: 1.在游戏初始化时候 阅读全文
posted @ 2022-05-20 01:48 木子七 阅读(369) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
workspaces
keyboard_arrow_up dark_mode palette
选择主题