本文目录一览:
初学Python可以做哪些小项目
初学Python的第一阶段你需要掌握Python基础编程语法、建立起编程思维和面向对象思想,掌握理论知识的同时,你就得结合着做一些小的实战项目。
一般在初期适合做的小项目给你举几个例子:
1、猜拳游戏
2、文件相关操作及
3、文件批量改名
4、学生管理系统(文件版)
5、飞机大战
最全面的12种Python学习方式
Python 是世界上最受欢迎的编程语言之一,它受到了全世界各地的开发者和创客的欢迎。大多数 Linux 和 MacOS 计算机都预装了某个版本的 Python,现在甚至一些 Windows 计算机供应商也开始安装 Python 了。
也许你尚未学会它,想学习但又不知道在哪里入门。这里的 12 个资源将帮助你入门并熟练掌握 Python。
课程、书籍、文章和文档
1、Python 软件基金会提供了出色的信息和文档,可帮助你迈上编码之旅。请务必查看 Python 入门指南。它将帮助你得到最新版本的 Python,并提供有关编辑器和开发环境的有用提示。该组织还有可以来进一步指导你的优秀文档。
2、我的 Python 旅程始于海龟模块。我首先在 Bryson Payne 的《教你的孩子编码》中找到了关于 Python 和海龟的内容。这本书是一个很好的资源,购买这本书可以让你看到几十个示例程序,这将激发你的编程好奇心。Payne 博士还在 Udemy 上以相同的名称开设了一门便宜的课程。
3、Payne 博士的书激起了我的好奇心,我渴望了解更多。这时我发现了 Al Sweigart 的《用 Python 自动化无聊的东西》。你可以购买这本书,也可以使用它的在线版本,它与印刷版完全相同且可根据知识共享许可免费获得和分享。Al 的这本书让我学习到了 Python 的基础知识、函数、列表、字典和如何操作字符串等等。这是一本很棒的书,我已经购买了许多本捐赠给了当地图书馆。Al 还提供 Udemy 课程;使用他的网站上的优惠券代码,只需 10 美元即可参加。
4、Eric Matthes 撰写了《Python 速成》,这是由 No Starch Press 出版的 Python 的逐步介绍(如同上面的两本书)。Matthes 还有一个很棒的伴侣网站,其中包括了如何在你的计算机上设置 Python 以及一个用以简化学习曲线的速查表。
5、Python for Everybody 是另一个很棒的 Python 学习资源。该网站可以免费访问 Charles Severance 的 Coursera 和 edX 认证课程的资料。该网站分为入门、课程和素材等部分,其中 17 个课程按从安装到数据可视化的主题进行分类组织。Severance(@drchuck on Twitter),是密歇根大学信息学院的临床教授。
6、Seth Kenlon,我们 Opensource.com 的 Python 大师,撰写了大量关于 Python 的文章。Seth 有很多很棒的文章,包括“用 JSON 保存和加载 Python 数据”,“用 Python 学习面向对象编程”,“在 Python 游戏中用 Pygame 放置平台”,等等。
在设备上使用 Python
7、最近我对 Circuit Playground Express 非常感兴趣,这是一个运行 CircuitPython 的设备,CircuitPython 是为微控制器设计的 Python 编程语言的子集。我发现 Circuit Playground Express 和 CircuitPython 是向学生介绍 Python(以及一般编程)的好方法。它的制造商 Adafruit 有一个很好的系列教程,可以让你快速掌握 CircuitPython。
8、BBC:Microbit 是另一种入门 Python 的好方法。你可以学习如何使用 MicroPython 对其进行编程,这是另一种用于编程微控制器的 Python 实现。
9、学习 Python 的文章如果没有提到树莓派单板计算机那是不完整的。一旦你有了舒适而强大的树莓派,你就可以在 Opensource.com 上找到成吨的使用它的灵感,包括“7 个值得探索的树莓派项目”,“在树莓派上复活 Amiga”,和“如何使用树莓派作为 VPN 服务器”。
10、许多学校为学生提供了 iOS 设备以支持他们的教育。在尝试帮助这些学校的老师和学生学习用 Python 编写代码时,我发现了 Trinket.io。Trinket 允许你在浏览器中编写和执行 Python 3 代码。 Trinket 的 Python 入门教程将向你展示如何在 iOS 设备上使用 Python。
播客
11、我喜欢在开车的时候听播客,我在 Kelly Paredes 和 Sean Tibor 的 Teaching Python 播客上找到了大量的信息。他们的内容很适合教育领域。
12、如果你正在寻找一些更通用的东西,我推荐 Michael Kennedy 的 Talk Python to Me 播客。它提供了有关 Python 及相关技术的最佳信息。
你学习 Python 最喜欢的资源是什么?请在评论中分享。
计算机编程可能是一个有趣的爱好,正如我以前在 Apple II 计算机上编程时所学到的……
有哪些python写的游戏
python编程游戏有哪些?下面给大家介绍几款由Python开发的游戏:
1. Github上面有个项目Free Python Games,里面集合了不少的Python开发的小游戏,能玩,也适合新手用来练练手,另外 PyGame 这个网站里面里面集合了很多Python开发的小游戏。
2. Python版本的 Flapy Bird 简化版,但是感觉更加难玩了。当然你也可以尝试用Python开发原版的 Flapy Bird,涵盖了颜色图像等:Flappy Block – 1.0
3. 小时候经常在手机上玩的一个游戏,也是一款经典的街机游戏,这款游戏进化之后其实就是一个打乒乓的小游戏,这里同样有一个进化版本,图形设计的更加好看:Ping Pong
相关推荐:《Python基础教程》
4. 以前初高中在学校很无聊的时候跟同桌或者前后桌玩的游戏,你还记得么
5. 同样一款小时候在小霸王上玩的游戏:Junk Jungle
6. 除此之外,一款比较有名基于Pyhton的战争的游戏:Home – TaleWorlds Entertainment
7. 一款看起来非常有趣的3D游戏:Galcon
8. 据说是能与Pyhton搭上边最有名的一款游戏,但好像他的客户端是用的C++,我试了一下很炸裂:EVE Online – One community. Countless journeys
python小游戏
idea +python3.8+pygame
pre spellcheck=”false” class=”md-fences md-end-block ty-contain-cm modeLoaded” lang=”python” cid=”n5″ mdtype=”fences” style=”box-sizing: border-box; overflow: visible; font-family: var(–monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;”import random
rang1 = int(input(“请设置本局游戏的最小值:”))
rang2 = int(input(“请设置本局游戏的最大值:”))
num = random.randint(rang1,rang2)
guess = “guess”
print(“数字猜谜游戏!”)
i = 0
while guess != num:
i += 1
guess = int(input(“请输入你猜的数字:”))
if guess == num:
print(“恭喜,你猜对了!”)
elif guess num:
print(“你猜的数小了…”)
else:
print(“你猜的数大了…”)
print(“你总共猜了%d” %i + “次”,end = ”)
print(“,快和你朋友较量一下…”)/pre
成果图
[图片上传失败…(image-6ef72d-1619168958721)]
pre spellcheck=”false” class=”md-fences md-end-block ty-contain-cm modeLoaded” lang=”python” cid=”n10″ mdtype=”fences” style=”box-sizing: border-box; overflow: visible; font-family: var(–monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;”import pygame
import random
from pygame.locals import *
WIDTH = 1200
HEIGHT = 600
class Peas:
def init (self):
self.image = pygame.image.load(“./res/peas.gif”)
self.image_rect = self.image.get_rect()
self.image_rect.top = 285
self.image_rect.left = 30
self.is_move_up = False
self.is_move_down = False
self.is_shout = False
def display(self):
“””显示豌豆的方法”””
screen.blit(self.image, self.image_rect)
def move_up(self):
“””豌豆向上移动”””
if self.image_rect.top 30:
self.image_rect.move_ip(0, -10)
else:
for z in Zombie.zombie_list:
if self.image_rect.colliderect(z.image_rect):
pygame.quit()
exit()
def move_down(self):
“””豌豆向下移动”””
if self.image_rect.bottom HEIGHT – 10:
self.image_rect.move_ip(0, 10)
else:
for z in Zombie.zombie_list:
if self.image_rect.colliderect(z.image_rect):
pygame.quit()
exit()
def shout_bullet(self):
“””发射炮弹方法”””
bullet = Bullet(self)
Bullet.bullet_list.append(bullet)
class Bullet:
bullet_list = []
interval = 0
def init (self, peas):
self.image = pygame.image.load(“./res/bullet.gif”)
self.image_rect = self.image.get_rect()
self.image_rect.top = peas.image_rect.top
self.image_rect.left = peas.image_rect.right
def display(self):
“””显示炮弹的方法”””
screen.blit(self.image, self.image_rect)
def move(self):
“””移动炮弹”””
self.image_rect.move_ip(8, 0)
if self.image_rect.right WIDTH – 20:
Bullet.bullet_list.remove(self)
else:
for z in Zombie.zombie_list[:]:
if self.image_rect.colliderect(z.image_rect):
Zombie.zombie_list.remove(z)
Bullet.bullet_list.remove(self)
break
class Zombie:
zombie_list = []
interval = 0
def init (self):
self.image = pygame.image.load(“./res/zombie.gif”)
self.image = pygame.transform.scale(self.image, (70, 70))
self.image_rect = self.image.get_rect()
self.image_rect.top = random.randint(10, HEIGHT-70)
self.image_rect.left = WIDTH
def display(self):
“””显示炮弹的方法”””
screen.blit(self.image, self.image_rect)
def move(self):
“””移动僵尸”””
self.image_rect.move_ip(-2, 0)
if self.image_rect.left 0:
Zombie.zombie_list.remove(self)
else:
if self.image_rect.colliderect(peas.image_rect):
pygame.quit()
exit()
for b in Bullet.bullet_list[:]:
if self.image_rect.colliderect(b.image_rect):
Bullet.bullet_list.remove(b)
Zombie.zombie_list.remove(self)
break
def key_control():
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
exit()
if event.type == KEYDOWN:
if event.key == K_UP:
peas.is_move_up = True
peas.is_move_down = False
elif event.key == K_DOWN:
peas.is_move_up = False
peas.is_move_down = True
elif event.key == K_SPACE:
peas.is_shout = True
if event.type == KEYUP:
if event.key == K_UP:
peas.is_move_up = False
elif event.key == K_DOWN:
peas.is_move_down = False
elif event.key == K_SPACE:
peas.is_shout = False
if name == ‘ main ‘:
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
background_image = pygame.image.load(“./res/background.png”)
scale_background_image = pygame.transform.scale(background_image, (WIDTH, HEIGHT))
scale_background_image_rect = scale_background_image.get_rect()
clock = pygame.time.Clock()
peas = Peas()
while True:
screen.fill((0,0,0))
screen.blit(scale_background_image, scale_background_image_rect)
peas.display()
key_control()
if peas.is_move_up:
peas.move_up()
if peas.is_move_down:
peas.move_down()
Bullet.interval += 1
if peas.is_shout and Bullet.interval = 15:
Bullet.interval = 0
peas.shout_bullet()
Zombie.interval += 1
if Zombie.interval = 15:
Zombie.interval = 0
Zombie.zombie_list.append(Zombie())
for bullet in Bullet.bullet_list:
bullet.display()
bullet.move()
for zombie in Zombie.zombie_list:
zombie.display()
zombie.move()
pygame.display.update()
clock.tick(60)/pre
成果[图片上传失败…(image-983fba-1619168958718)]
如何自学 Python
其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。
我是真正零基础开始学Python的,从一开始的一窍不通,到3个月后成功搭建了一个动态网站(没有用任何框架)。相比于计算机大牛,我更加知道一个小白将会遇到什么坑,遇到哪些难点。我把我的学习过程写在下面,并附上在每个阶段的学习资料,希望对零基础的Python学习
想学习编程但不知如何开始的朋友。回答这类问题的人往往只是列出书单资源然后给出一个大致的方向。有些朋友一开始就扎入了理论学习的汪洋大海,从苦读类似《算法导论》开始,能够坚持读下来的寥寥无几,学习的积极性也被不断的挫败感消磨的所剩无几。可以加Python技术直播裙【三零四零五零七九九】 群里大佬生动的讲解可以让你思路更清晰,互动直播,遇到问题里面有大佬解答指导!
一直以来,编程对我而言是一种「黑魔法」般的存在。今年阿里月饼门,当很多人都参与到是非之争的时候,我更加着迷于程序员区区几行代码的脚本所展现出的威力,对于外行而言,这是超乎他们想象之外的某种能力——为什么我守在电脑面前盯着秒针然后拼命点击鼠标都不一定能抢到的礼物,程序员只需要提前花5分钟写3行代码就轻松搞定?
所以,我的心底深处一直都想变成这样的一位魔法师。今年的8月,刚好工作上想要开发一个基于微信的英语学习网站,借此机会,我决定好好学习一下编程。在此之前,我所有关于程序的知识仅仅来源于两部分,一是本科时期的C语言必修课,现在已经忘的一干二净,不过好歹我从中明白编程是怎么回事;第二部分是大概两年前由于工作关系学的一些Python,不过只是皮毛,现在忘的七七八八。
简单说,我的目标是建立一个网站,不过这个网站是动态的,也就是说它能识别谁登陆,然后对不同的人显示不同的内容。而当时的现实是,我完全不明白网页是如何显示出来的?譬如每个人登陆知乎的时候看到的是定制化的页面,后台是如何基于每个ID来组织出不同的页面的?所有我们看到的问题,回答,参与的评论在背后的服务器上是以一种什么样的形式存在的?又比如为什么有些页面只能在微信端打开,在电脑上就会出错?(不知道你有没有发现这一点)
当时我的心中充满了无数个类似的问号?当然如果你也是小白,一定有着同样的疑问。
好处是一开始就明确了学习的目的:Web建站。所以我的学习方案基本就是通过做项目学习,哪里不懂就解决哪里,边做边学习,不断推进。另外,由于知道很多成功的网站在用Python做服务器开发,比如知乎,所以我就自然选择了Python。
于是我就开始了我充满着挫败感和成就感的编程之路……
从8月到12月的四个月里,除去本来的工作,为了学习质量,我会保证平均每天4个小时的学习时间,周末也不例外。另外,所有的文档,问答都尽量看英文的,这可以帮你剩下大量的时间。12月13日,我做的网站上线了,3天时间大概有5000人访问了这个网站,我有时在后台看着日志,不免有些心潮喷涌,我想把自己的经验写下来,希望对于那些有心学习编程但无从下手的朋友提供一些帮助和鼓励。
现在回头看,我认为这一段时间的造轮子是提升编程能力最快的时候。比如为了写ORM,就必须去花很多时间学习SQL,去了解Python里面的metaclass,而如果用一个现成的框架,我很有可能偷懒不去关注某些细节。而不出问题还好,一旦出问题,我就只能跪。另外,造轮子迫使我在开始的时候就构思整个框架,因为我必须尽可能的考虑到所有的情况,于是就会不断的强迫自己完善知识体系,和别人的代码作对比从而改进自己的,这个过程充满了无尽的挫败感,但是得来的成就和快乐也是无可比拟的。
关于自学python
个人最大3点经验
1. 找一本浅显易懂,例程比较好的教程,从头到尾看下去。
不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。我当时看的是《简明python教程》,不过这本书不是非常适合零基础初学者。
2. 去找一个实际项目练手。
我当时是因为要做一个网站,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。
3.最好能找到一个已经会python的人。问他一点学习规划的建议(上知乎也是个途径),然后在遇到卡壳的地方找他指点。
这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。
然而,别人的经验未必能完全复制。比如我没有说的是,在自学python之前,我已在学校系统学习过其他的编程语言。
对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,比如:
· 从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了
· 缺少计算机基础知识,被一些教程略过的“常识性”问题卡住
· 遇到问题不知道怎么寻找解决方案
· 看懂语法之后不知道拿来做什么,学完一阵子就又忘了
· 缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段
所以除了前面说的3点经验,
给编程初学者的额外建议
1、首先要有信心。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。
2、选择合适的教程。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。
3、写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。
4、除了学习编程语言,也兼顾补一点计算机基础,和英语。
5、不但要学写代码,还要学会看代码,更要会调试代码。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。
6、学会查官方文档,用好搜索引擎和开发者社区。
求python游戏编程入门
推荐这个博客,写的很好,是基于python2开发的,不过大部分代码python3也可以用。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/152921.html