最近,我开始关注一位专注于Python编程的博主。她的技术实力和创造力深深地吸引了我,尤其是她编写的“Python流星雨”效果,简直令人叹为观止。那些流动的字符和色彩,宛如编程世界中的一场视觉盛宴,让我对Python编程产生了浓厚的兴趣。
受到她的启发,我也想亲自尝试一下Python编程。毕竟,Python不仅是一门强大且易学的编程语言,还是数据科学、人工智能等领域的重要工具。而且,通过编程,我可以创造出属于自己的独特项目,甚至可能开发出有趣的应用或游戏。
为了实现这个目标,我计划先下载并安装Python,这是运行Python代码的必要环境。
下面是Python下载与安装的全部过程以及实现流星雨的源码。
从Python官网下载安装包,点击Downloads–>Windows(具体看你自己是Windows还是macOS之类的)
这里你需要知道你的电脑是64位还是32位的电脑,不清楚的可以去电脑设置–>系统–>关于去查询。
这里我下载的是Stable Releases(稳定发布的版本),右边的Pre-releases(预发布的版本,不一定稳定)。
电脑位数查询:
下载完成就是一个python-3.12.1-amd64.exe的应用程序。下面是安装过程。
双击python-3.12.1-amd64.exe应用程序开始安装,弹出的第一个界面需要你勾选下面两个选项。
然后Install Now是立刻安装,默认路径,这里我是选择下面的Customize installation 自定义安装。
接下来会出现这个,这里我就默认全部安装了,然后点击Next下一步。
以下是可选功能的介绍:
这里本来的路径是C盘,我不想直接安装在C盘,手动修改为E盘。其他默认,最后点击管理员模式安装Install。这里因为用户名是中文名,后续安装pygame老是失败,我就直接安装在虚拟机里面了。
它会弹出一个管理员确认,然后就进行到Installing过程,等待安装完成即可。
安装完成,关闭这个界面。
安装成功会发现多出来这几个东西。
安装完 Python 后,您可以通过W+R打开cmd命令进行简单的测试指令来验证 Python 是否成功安装并运行正常:
确认验证 Python 已经成功安装并运行正常。
Pygame是一个强大且易于使用的Python游戏开发库。它为开发者提供了许多用于创建2D游戏的工具和功能,包括图像、声音、事件处理和碰撞检测等。Pygame的跨平台特性也使得开发者能够轻松地将游戏部署到多个操作系统上。除此之外,Pygame还拥有活跃的社区和丰富的资源,为开发者提供了支持和帮助。这些因素共同使得Pygame成为了一个非常适合初学者和专业开发者的游戏开发库。
我这边采用最简单的方式:通过pip直接安装。
(也可以通过官网下载安装文件安装,这边就不介绍了)
通过W+R打开cmd命令然后输入:pip install pygame (回车)
等待安装完成。
这个提示意味着有一个新版本的 pip 可用,并建议您升级到新版本。我直接升级到最新版本:python.exe -m pip install --upgrade pip
PythonTurtle是一个基于Python语言的图形库,它基于turtle模块,提供了一种简单而直观的方式来学习和实现绘图。
PythonTurtle模块可以帮助你创建一个画布窗口,并提供了一系列的函数和方法来控制一个海龟(turtle),让它在画布上移动、旋转和绘制各种图形。
你可以通过以下命令来安装PythonTurtle模块:
验证Pygame是否成功安装,我参考网上的例程编写一个python流星雨程序来验证。用Notepad++文件创建一个Python文件,命名为test.py,并将以下代码复制到文件中:
import math # 导入math模块(数学函数)
import turtle as tu # 导入turtle 库(绘制基本的图形、动画)
import random as ra # 导入random 库(生成随机数)
tu.setup(1.0, 1.0) # 用于设置窗口的大小
tu.screensize(1.0, 1.0) # 用于设置画布的大小
tu.bgcolor('black') # 设置画布颜色 黑色
t = tu.Pen() # 创建一个 Pen 对象(一支画笔),用于绘制图形。
t.ht() # 隐藏画笔
colors3 = ['purple', 'white', 'cyan', 'pink', 'yellow', 'blue'] # 流星的颜色列表
class Star(): # 定义流星类
def __init__(self):
self.x3 = ra.randint(-1500, 1000) # 流星的横坐标
self.y3 = ra.randint(-500, 500) # 流星的纵坐标
self.r3 = ra.randint(50, 100) # 流星的半径
self.t = ra.randint(1, 3) # 流星的旋转角度
self.speed3 = ra.randint(1, 5) # 流星的移动速度
self.color3 = ra.choice(colors3) # 流星的颜色
def star2(self): # 绘制流星函数
t.pensize(1) # 流星的大小
t.penup() # 提笔
t.goto(self.x3, self.y3) # 移动到流星起始位置
t.pendown() # 落笔
t.color(self.color3) # 设置画笔的颜色
t.begin_fill() # 开始填充颜色
t.fillcolor(self.color3) # 设置填充的颜色
t.setheading(-30) # 将角度设置为 -30 度,也就是使其向右倾斜一定角度
t.right(self.t) # 调整流星的倾斜角度
t.forward(self.r3) # 向前移动一定距离,距离为 self.r3,也就是流星的长度
t.left(self.t) # 调整流星末尾的倾斜角度。
t.circle(self.r3 * math.sin(math.radians(self.t)), 180) # 绘制流星头部
t.left(self.t) # 调整流星末尾的倾斜角度
t.forward(self.r3) # 向前移动一定距离,距离为 self.r3,也就是流星的长度
t.end_fill() # 结束填充颜色
def move(self): # 移动函数,控制流星的运动
if self.y3 >= -500: # 当流星还在画布中时
self.y3 -= self.speed3 # 设置流星的上下移动速度
self.x3 += 2 * self.speed3 # 设置流星的左右移动速度
else: # 当流星超出画布范围时,重置流星的属性
self.r3 = ra.randint(50, 100) # 随机生成流星的半径
self.t = ra.randint(1, 3) # 随机生成流星的旋转角度
self.x3 = ra.randint(-1500, -750) # 随机生成流星的横坐标
self.y3 = ra.randint(-500, 1000) # 随机生成流星的纵坐标
self.speed3 = ra.randint(1, 5) # 随机生成流星的移动速度
self.color3 = ra.choice(colors3) # 随机生成流星的颜色
Stars = [] # 用列表保存所有流星
for i in range(50):
Stars.append(Star()) # 创建50个流星对象,并添加到列表中
while True: # 开始绘制
tu.tracer(0) # 关闭动画效果
t.clear() # 清空画布内容
for i in range(50): # 绘制50个流星
Stars[i].move() # 移动流星
Stars[i].star2() # 绘制流星
tu.update() # 更新画布
tu.mainloop() # 运行主循环,程序将在这里一直运行,直到手动关闭程序窗口
这里的动图不是python转换的,而是我用FastStone Capture录屏软件录制的视频转换成的gif动图。
从我第一次尝试制作Python流星雨项目开始,虽然我对Python的Turtle库还不是很熟悉,也不清楚如何将结果转化为GIF动图,但这确实标志着我开始学习Python的起点。我渴望使用Python绘制出只属于我自己的节日祝福。
下篇讲一下PyCharm的安装以及pyinstaller打包python文件。
感谢你的观看,谢谢!