![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python基础
为了研究生阶段作为图像处理的工具而学习Python,希望有始有终。
孔言66
这个作者很懒,什么都没留下…
展开
-
39_Python基础_项目实践(飞机大战)_碰撞检测
目录1. 了解碰撞检测方法2. 碰撞实现1. 了解碰撞检测方法pygame 提供了两个非常方便的方法可以实现碰撞检测:1. pygame.sprite.groupcollide()两个精灵组中所有的精灵的碰撞检测pygame.sprite.groupcollide(group1, group2, dokill1, dokill2, collided = None) => Sprite_list如果将 dokill 设置为 True , 则发生碰撞的精灵将...原创 2020-08-18 11:43:13 · 265 阅读 · 0 评论 -
38_Python基础_项目实践(飞机大战)_英雄和子弹
1. 分析英雄和子弹类设计1.1英雄需求游戏启动后,英雄出现在屏幕的水平中间位置,距离屏幕底部120像素 英雄每隔 0.5 秒发射一次子弹, 每次连发三枚子弹 英雄默认不会移动, 需要通过左/右方向键, 控制英雄在水平方向移动1.2子弹需求子弹从英雄的正上方沿直线向上方飞行 飞出屏幕后,需要从从精灵组中删除Hero ---- 英雄初始化方法 指定 英雄图片 初始速度 = 0 ---- 英雄默认静止不定 定义 bu...原创 2020-08-15 11:02:37 · 323 阅读 · 0 评论 -
37_Python基础_项目实践(飞机大战)_敌机
目录1. 使用定时器添加敌机1.1 定时器1.2 定义并监听创建敌机的定时器事件2. 设计 Enemy 类2.1 敌机类的准备2.2 创建敌机2.3 随机敌机位置和速度2.4 移出屏幕销毁敌机1. 使用定时器添加敌机游戏启动后,每隔 1 秒会出现一架敌机 每架敌机,向屏幕下方飞行,分行速度各不相同 每架敌机出现的水平位置也不尽相同 当敌机从屏幕下方飞出,不会再飞回到屏幕中1.1 定时器在 pygame 中可以...原创 2020-08-15 10:06:40 · 224 阅读 · 0 评论 -
36_Python基础_项目实践(飞机大战)_背景图像
目录1. 背景交替滚动的思路确定1.1 实现思路分析1.2 设计背景类2. 显示游戏背景2.1 背景精灵的基本实现2.2 在 plane_main.py 中显示背景精灵2.3 利用初始化方法, 简化背景精灵创建1. 背景交替滚动的思路确定运行备课代码,观察背景图像的显示效果:游戏启动后,背景图像会连续不断地 向下方移动 在视觉上产生英雄的飞机不断向上方飞行的错觉---- 在很多跑酷类游戏中常用的套路游戏的背景不断变化游...原创 2020-08-14 09:48:12 · 269 阅读 · 0 评论 -
35_Python基础_项目实践(飞机大战)_游戏框架搭建
目录1. 明确主程序职责2. 实现飞机大战主游戏类2.1 明确文件职责2.2 常量1. 明确主程序职责一个游戏主程序的职责可以分为两个部分: 游戏初始化 游戏循环 根据明确的职责, 设计 PlaneGame 类如下:提示根据职责封装私有方法, 可以避免某一个方法的代码写得太过冗长如果某一个方法编写的太长, 既不好阅读, 也不好维护!游戏初始化---- __init__() 会调用以下方法:2. 实现...原创 2020-08-13 11:35:14 · 180 阅读 · 0 评论 -
34_Python基础_项目实践(飞机大战)_pygame入门
项目准备新建 飞机大战 项目 新建一个 ky_01_pygame入门.py 导入 游戏素材图片游戏的第一印象把一些 静止的图像 绘制到 游戏窗口 中 根据 用户的交互 或其他情况,移动 这些图像,产生动画的效果 根据 图像之间 是否发生重叠,判断 敌机是否被摧毁 等其他情况1. 使用 pygame 创建图形窗口小节目标游戏的初始化和退出 理解游戏中的坐标系 创建游戏主窗口 简单的游戏循环可以将图片素材绘制到游戏的窗口上, 开发游戏之前需要先知道如何建立游...原创 2020-08-09 10:51:00 · 311 阅读 · 0 评论 -
33_Python基础_项目实践(飞机大战)_pygame安装
目录1. 模块介绍2. 模块安装2.1 windows下安装2.2 Linux环境下安装3. 模块验证3.1 windows环境3.2 linux 环境1. 模块介绍pygame 就是一个 Python 模块, 专为电子游戏设计 提示 : 学习第三方模块, 通常最好的参考资料就在官方网站2. 模块安装2.1 windows下安装笔者本来打算在Anaconda下安装,但发现搜索不到该包,故采用最原始办法-----终端命令行安装。1. 打开window..原创 2020-08-02 15:37:59 · 417 阅读 · 0 评论 -
31_Python基础_模块
1. 模块1.1 模块的概念模块是 Python 程序架构的一个核心概念每一个以扩展名 py 结尾的 Python 源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模块中定义的全局变量, 函数, 类都是提供给外界直接使用的工具 模块就好比是工具包,想要使用这个工具包中的工具, 就需要先导入这个模块1.2 模块的两种导入方式1.2.1 import 导入import 模块名1, 模块名2 # 会报错, 有波浪...原创 2020-08-01 15:30:28 · 134 阅读 · 0 评论 -
30_Python基础_异常
目录1. 异常的概念2. 捕获异常2.1 简单的捕获异常语法2.2 错误类型捕获实例捕获未知错误:2.3 异常捕获完整语法3. 异常的传递4. 抛出 raise 异常4.1 应用场景4.2 抛出异常实例:1. 异常的概念程序在运行时, 如果 Python 解释器遇到一个错误,会停止程序的执行, 并且提示一些错误信息,这就是异常 程序停止执行并且提示错误信息这个动作, 我们通常称之为 :抛出 (ra...原创 2020-08-01 11:21:14 · 149 阅读 · 0 评论 -
29_Python基础_单例
目录1. 单例设计模式2. __new__方法3. Python 中的单例只执行一次初始化工作1. 单例设计模式设计模式设计模式是前人工作的总结和提炼,通常, 被人们广泛流传的设计模式都是针对某一特定问题的成熟解决方案 使用设计模式是为了可重用代码, 让代码更容易被他人理解, 保证代码可靠性单例设计模式目的 ----让 类创建的对象, 在系统中只有 唯一的一个实例 每一次执行类名() 返回的对象,内存地址是相同的单...原创 2020-08-01 09:29:07 · 108 阅读 · 0 评论 -
28_Python基础_类属性和类方法
1. 类的结构1.1 术语 ---- 实例使用面向对象开发,第1步 是设计类 使用 对象=类名( )创建对象,创建对象的动作有两步: 1) 在内存中为对象分配空间 2) 调用初始化方法 __init__ 为对象初始化 3.对象创建后,内存中就有了一个对象的实实在在的存在 ----实例因此, 通常也会把:创建出来的对象叫做类的实例 创建对象的动作叫做实例化 对象的属相叫做实例属性...原创 2020-07-31 18:50:21 · 168 阅读 · 0 评论 -
27_Python基础_多态
目录1. 多态2. 案例演练2.1 需求:2.2 代码1. 多态面向对象三大特性1.封装根据 职责 将属性和方法 封装到一个抽象的 类 中定义类的准则2.继承实现代码的重用,相同的代码不需要重复的编写设计类的技巧 子类针对自己特有的需求, 编写特定的代码3.多态不同的子类对象调用相同的父类方法, 产生不同的执行结果多态可以增加代码的灵活度 以继承和重写父类方法为前提 是调用方法的技巧.不会影响...原创 2020-07-30 19:32:14 · 174 阅读 · 0 评论 -
26_Python基础_继承
面向对象三大特性:封装根据职责将属性和方法 封装到一个抽象的类 中 继承 实现代码的重用,相同的代码不需要重复的编写 多态不同的对象调用相同的方法, 产生不同的执行结果,增加代码的灵活度1. 单继承1.1 概念继承的概念: 子类拥有父类的所有方法和属性1.2 语法1)定义格式:class 类名(父类名): pass子类继承自父亲,可以直接享受父类中已经封装好的方法, 不需要再次开发 子类中应该根...原创 2020-07-29 22:46:24 · 168 阅读 · 0 评论 -
25_Python基础_私有属性和私有方法
目录1. 应用场景2.定义方式3. 访问私有属性和私有方法(不推荐)1. 应用场景在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到 私有属性就是对象不希望公开的属性 私有方法就是对象不希望公开的方法2.定义方式在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法例如:女生的年龄class Women: def __init...原创 2020-07-29 08:56:47 · 115 阅读 · 0 评论 -
24_Python基础_面向对象封装案例(二)
目录案例二 :士兵突击1.需求2.分析3. 代码3.1 开发枪类3.2 开发士兵类3.3 士兵开火4. 身份运算符案例二 :士兵突击1.需求士兵 许三多有一把AK47 士兵可以开火 枪能够发射子弹 枪 装填子弹 ---- 增加子弹数量一个对象的属性,可以是另外一个类创建的对象2.分析类 =>Soldier类 =>Gun属性 =>...原创 2020-07-28 13:41:16 · 279 阅读 · 0 评论 -
23_Python基础_面向对象封装案例(一)
1. 封装 封装是面向对象编程的一大特点 面向对象编程的第一步---- 将属性和方法 封装到一个抽象的类中 外界使用类创建对象,然后让对象调用方法 对象方法的细节都被封装在类的内部 2. 实例一-----小明爱跑步2.1 需求小明 体重75.0 公斤 小明每次跑步会减肥 0.5 公斤 小明每次吃东西体重增加 1 公斤2.2 分析类 = > Person属性 = > name , h...原创 2020-07-27 21:47:44 · 778 阅读 · 0 评论 -
22_Python基础_面向对象语法
目录1. dir( )内置函数2. 定义简单的类(只包含方法)2.1 定义只包含方法的类2.2 创建对象2.3 第一个面向对象程序3. 方法中的 self 参数3.1 给对象增加属性3.2 使用 self 在方法内部输出每一只猫的名字4. 初始化方法3.1 之前代码存在的问题 ---- 在类的外部给对象增加属性3.2 初始化方法3.3 在初始化方法内部定义属性3.4 改造初始化方法 ---- 初始化的同时设置初始值4. ...原创 2020-07-27 21:11:42 · 172 阅读 · 0 评论 -
21_Python基础_面向对象概念
目录1. 面向对象基本概念1.1 过程和函数1.2 面向过程和面向对象 基本概念1) 面向过程 ---- 怎么做?2) 面向对象 ---- 谁来做?2. 类和对象2.1 类2.2 对象2.3 类和对象的关系2.4 类的设计2.4.1类名的确定2.4.2属性和方法的确定1. 面向对象基本概念我们之前学习的编程方式就是面向过程的 面向过程和面向对象, 是两种不同的编程方式 对比面向过程的特点, 可以更好地了解什么是...原创 2020-07-27 14:20:53 · 112 阅读 · 0 评论 -
20_Python基础_函数参数和返回值
1. 函数参数和返回值作用函数根据有没有参数以及有没有返回值, 可以相互相合, 一共有4 种组合形式:无参数, 无返回值 无参数, 有返回值 有参数, 无返回值 有参数, 有返回值2. 函数的返回值 进阶在程序开发中,有时候, 会希望 一个函数执行结束后, 告诉调用者一个结果, 以便调用者针对具体的结果做后续的处理 返回值 是函数 完成工作后,最后 给调用者的 一个结果 在函数中适用 return 关键字可以返回结果 调用函数一方, 可以 使用变量 来...原创 2020-07-25 13:50:43 · 276 阅读 · 0 评论 -
19_Python基础_变量进阶
1. 变量的引用变量 和 数据 都是保存在内存中的 在 Python 中函数的参数传递以及返回值都是靠 引用 传递1.1 引用的概念原创 2020-07-25 10:21:23 · 98 阅读 · 0 评论 -
18_Python基础_实战(一)_名片管理系统
1. 目标综合已经学过的知识点:变量 函数 模块 流程控制开发 名片管理系统2.系统需求3.开发步骤框架搭建 新增名片 显示所有名片 查询名片 查询后修改、删除名片4.开发过程4.1 框架搭建目标:搭建系统框架准备文件,确定文件名,保证能够在需要位置编写代码 编写 主运行循环,实现基本的用户输入和判断4.1.1 文件准备 1.新建cards_main.py 保存 主程序功能代码程序入口 每次启动系统时,通过main这个文件启动2....原创 2020-07-23 18:41:52 · 449 阅读 · 0 评论 -
17_Python基础_公共方法
目录1. 定义2.常见方法2.1 函数2.2 切片2.3 运算符2.4 完整for循环语法1. 定义字符串、列表、元组、字典等公用的一些函数、运算符等叫做公共方法。2.常见方法2.1 函数注意:python3.*中若要使用比较运算,可以用 ">" 和 “<”来进行比较。 比较字符串原则:“0”<“A”<“a”2.2 切片切片使用索引值来限定范围, 从一个大的字符串中切出小的字符串 列表和元组...原创 2020-07-23 17:04:32 · 290 阅读 · 0 评论 -
16_Python基础_高级变量_字符串
1. 字符串的定义字符串就是一串字符,是编程语言中表示文本的数据类型 在 Python 中可以使用 一堆双引号"" 或者 一对单引号 ' ' 定义一个字符串 在 ipython3 中定义一个字符串, 例如: str = " "虽然可以使用 \"" 或者 \'' 做字符串的转义, 但是在实际开发中: 如果字符串内部需要使用 "", 可以使用 ' ' 定义字符串 如果字符串内部需要使用 ' ', 可以使用 " "定义字符串可以使用...原创 2020-07-18 17:38:33 · 124 阅读 · 0 评论 -
15_Python基础_高级变量_字典
目录1.字典定义2. 字典常用操作3.字典其他操作4.字典的遍历5.应用场景1.字典定义 字典用 { } 来定义 字典使用 键值对 存储数据, 键值对之间使用 逗号,分隔字典大括号,元组小括号,列表中括号dictionary (字典) 是除列表以外Python 之中最灵活的数据类型 字典同样可以用来存储多个数据,通常描述一个物体的相关信息 与元组区别在于: 列表是有序的对象集合 ...原创 2020-07-16 17:42:09 · 120 阅读 · 0 评论 -
14_Python基础_高级变量_元组
1.元组的定义1.与列表类似,但不同在于元组的元素不能修改元组(tuple)表示多个元素组成的序列 元组在Python来开发中,有特定的开发场景2.原创 2020-07-15 17:15:22 · 116 阅读 · 0 评论 -
13_Python基础_高级变量_列表
目录1. 列表的定义2. 列表常用操作2.1 列表基本使用2.2 del 删除使用2.3 列表的数据统计2.4 列表的排序3. 列表的循环遍历1. 列表的定义List (列表) 是 Python 中使用最频繁的数据类型, 在其他语言中通常叫做数组 专门用于存储一串 同类型 信息 列表用 [ ] 定义,数据之间使用 逗号(,) 分隔 列表的索引从 0 开始 索引就是数据在列表中的位置编号,索引...原创 2020-07-14 18:26:12 · 154 阅读 · 0 评论 -
12_Python基础_初识模块
目录1.初识模块2.第一个模块3.模块命名1.初识模块 模块是 Python 程序架构的一个核心架构的一个核心概念模块就好比是工具包, 想要使用这个工具包中的工具, 就需要 导入 import 这个模块 每一个以扩展名 py 结尾的 Python 源代码文件都是一个模块 在模块定义的全局变量,函数都是模块能够提供给外界直接使用的工具2.第一个模块步骤:新建 wk_01_分隔线模块.py , 可添加随意添加变量 name = "小明" ...原创 2020-07-14 16:10:58 · 113 阅读 · 0 评论 -
11_Python基础_函数的参数
1. 函数的返回值在程序开发中,有时候,会希望 一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理 返回值 是函数 完成工作后,最后 给调用者的 一个结果 在函数中适用 return 关键字可以返回结果 调用函数一方,可以 使用变量 来 接收 函数的返回结果注意: return 表示返回, 后续的代码都不会被执行使用例程如下:def sun_sum(num1, num2): """"两个数求和""" resu...原创 2020-07-14 14:41:37 · 140 阅读 · 0 评论 -
10_Python基础_函数的基本使用
1.函数的快速体验所谓函数, 就是把具有独立功能的代码块组织为一个小模块, 在需要的时候调用 函数的使用包含两个步骤:定义函数 ----封装独立的功能 调用函数 ---- 享受封装的成果函数的作用, 在开发程序时, 使用函数可以提高编写的效率以及代码的重用 演练 :新建 函数 项目 复制 乘法表 修改文件, 增加函数定义 multiple_table(): 新建另外一个文件, 使用 import 导入并且调用函数定义函数:def...原创 2020-07-14 14:26:05 · 129 阅读 · 0 评论 -
09_Python基础_循环
1.程序的三大流程在程序开发中, 一共有三种流程方式 :顺序 ---- 从上向下, 顺序执行代码 分支---- 根据条件判断, 决定执行代码的分支,如If语句的使用 循环---- 让特定代码 重复执行,如while语句的使用 2.while循环的基本使用循环的作用就是让 指定的代码 重复的执行 while 循环最常用的应用场景就是让执行的代码按照指定的次数 重复执行2.1while 语句基本语法初始条件设置 ---- 通常是重复执行的 计数器 whil...原创 2020-07-06 14:59:50 · 194 阅读 · 0 评论 -
08-Python基础-判断语句
1.判断语句定义·如果条件满足,才能做某件事情 ·如果条件不满足,就做另外一件事情 或什么也不做 判断语句又称为分支语句 正因为有了判断 才让程序有了很多分支2.常见判断语句2.1 if语句1.定义·如果条件满足,才能做某件事情 ·如果条件不满足,就做另外一件事情 或什么也不做判断语句又称为分支语句 正因为有了判断 才让程序有了很多分支2.if 判断语句基本语法在python中,if语句就是用来进行判断的 格式:条件成立时,要做的事情if 要判断的条件: ...原创 2020-07-05 20:59:18 · 1585 阅读 · 0 评论 -
07-Python基础-逻辑运算
1.逻辑运算在程序开发中,通常在判断条件时, 会需要同时判断多个条件 只有多个条件都满足, 才能够执行后续代码, 这个时候需要使用到 逻辑运算符 逻辑运算符可以把 多个条件按照逻辑进行链接, 变成 更复杂的条件 Python 中的 逻辑运算符 包括 : 与 and / 或 or / 非 not 三种1.1 与运算-and与 / 并且 两个条件同时满足, 返回 True 只要有一个不满足, 就返回 False 条件1 and 条件2 1.2 或运算-or...原创 2020-07-05 20:33:44 · 172 阅读 · 0 评论 -
06_Python基础_变量(基础版)
目录1.变量定义2.变量类型4.变量计算5.变量输入6.实例演练1.变量定义在python中,每个变量在使用前必须赋值,变量赋值以后该变量才会被创建。不需要声明变量类型,解释器会自动识别,这与C语言有区别。用等号“=” 来给变量赋值,左边是一个变量名=右边是存储在变量中的值,即变量名=值。num = 6name = "小明"若要查看数据类型,使用函数type(变量名),编译器会返回所查询变量类型。type(num)type(name)2...原创 2020-07-05 11:08:00 · 301 阅读 · 0 评论 -
05_Python基础_运算符及程序执行原理
目录1.算术运算符1.1常用算术运算符1.2算术运算符优先级2.程序执行原理2.1 计算机中三大件2.2 程序执行原理2.3 python程序执行原理2.4 程序的作用1.算术运算符1.1常用算术运算符算数运算符是 运算符的一种 是完成基本的算术运算使用的符号, 用来处理四则运算 在 Python 中 * 运算符还可以用于字符串, 例 :In : print("hello" * 3) Out : 'hellohellohello'..原创 2020-07-05 10:15:36 · 194 阅读 · 0 评论 -
04_Python基础_注释
目录1.注释的作用2.单行注释3.多行注释4.注释规范1.注释的作用在程序中对某些代码进行标注说明, 增强程序的可读性(现在让别人看懂,以后让自己看懂)注释重点说明不是代码的语法,而是在该处的作用。PS:养成做注释的习惯终身受益2.单行注释以 # 开头 , # 右边的所有东西都被当做说明文字 ,在代码前一行写注释 为了保证代码的可读性, # 后面建议先添加一个空格 示例代码如下 : # 这是一条注释信息print("hello python")...原创 2020-07-04 23:22:37 · 131 阅读 · 0 评论 -
03_python基础_我的第一个python程序
目录一、创建工程二、添加python文件三、我的第一个python代码四、命名规则四、常见错误一、创建工程首先在桌面创建一个文件夹用于创建工程。选择之前创建的文件夹选择解释器,由于第一次创建,所以选择新的解释器,这里用的是python3.6解释器,这里关乎编写的程序能否被执行二、添加python文件在工程中添加一个python文件,之后就可以愉快地写代码了。三、我的第一个代码用到print函数:打印输出print..原创 2020-07-04 21:52:05 · 289 阅读 · 0 评论 -
02-python开发环境
1.系统环境1.win10系统window系统不能直接解释Python代码,需要安装python软件,官网有python2.系列和python3.,但目前主流使用python3.系列,可以安装最新版2.Linux系统3.MAC系统Linux系统和MAC系统都支持python程序解释,及python可以直接执行。笔者为了便捷和接触Linux系统,在win10上使用WMware虚拟机安装了ubuntu系统(Linux系统的发行版),体验比较好,读者可以直接用win10系统来学习pyyh.原创 2020-07-02 22:42:29 · 134 阅读 · 0 评论 -
01-Python基础-python简介
目录1.python设计目标2.python特点3.解释器4.python优缺点4.2优点4.3缺点1.python设计目标一门简单直观的语言并与主要竞争者一样强大 开源,以便任何人都可以为它做贡献 代码像纯英语那样容易理解 适用于短期开发的日常任务2.python特点Python是完全面向对象的语言,函数、模块、数字、字符都是对象,在python一切皆为对象。 Python拥有一个强大的标准库,Python语言的核心只包含数字、字符串、列表、字典、文件等.原创 2020-07-02 22:11:08 · 154 阅读 · 0 评论